Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t在字符串中调用变量结果_Javascript - Fatal编程技术网

Javascript Can';t在字符串中调用变量结果

Javascript Can';t在字符串中调用变量结果,javascript,Javascript,我有一段代码: $(document).on('click','.download_now[data-inputid={{ $field['name'] }}-filemanager]',function (event) { event.preventDefault(); var loc = document.getElementById('proofAttach-filemanager').value; document.location

我有一段代码:

    $(document).on('click','.download_now[data-inputid={{ $field['name'] }}-filemanager]',function (event) {
        event.preventDefault();
        var loc = document.getElementById('proofAttach-filemanager').value;
        document.location = "{{ url("+loc+") }}";

    });
但是,我得到了以下url:

如果我删除加号,我得到/loc,如果我在那里插入document.getelementbyid,我得到的是文本而不是结果


我做错了什么?

解决了它

通过使用javascript提取基本URL:

        $(document).on('click','.download_now[data-inputid={{ $field['name'] }}-filemanager]',function (event) {
        event.preventDefault();
        var loc = document.getElementById('proofAttach-filemanager').value;
        var base_url = window.location.origin;
        document.location = base_url + "/" + loc;

    });

显然,在代码运行之前,您有一些预处理器/模板库正在为您处理thsoe
{{…}}
(否则,您将在引用的代码的第一行出现语法错误)。这几乎肯定会发生在服务器上,在这进入浏览器之前,因此您不能在这些标记中使用客户端信息(
loc
)。我认为您不能使用角度类型模板“模板”document.location字段。您不能只分配
document.location.href=url(loc)
;至少,当url方法在您当前的范围内时:)你们是对的。然而,我想在javascript上处理它。我真的不需要模板引擎来提取基本url,我通过javascript提取基本url来解决它:
window.location.origin+“/”+loc
谢谢@Rosenberg,不要编辑你的原始问题,你应该通过自己回答来分别发布答案。这将有助于将来遇到类似问题的其他人。