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,不要编辑你的原始问题,你应该通过自己回答来分别发布答案。这将有助于将来遇到类似问题的其他人。