我有一个脚本,TemplateLoader.js
可以加载2个Mustache模板,并在页面上呈现它们(或者至少是目标)。
我的目录结构:
COMP266
Unit 4
scripts
mustache.min.js
TemplateLoader.js
PageUsingTemplateLoader.html
在TemplateLoader
(对象)内部,我有以下块来加载Mustache,并渲染模板:
$.getScript("./scripts/mustache.min.js", function() {
$('head').html( Mustache.render(headTemplate, data) );
$('body').html( Mustache.render(bodyTemplate, data, uniqueBodyTemplate) );
});
然而,这会在开发者控制台中产生以下错误:
HTTP404:未找到 - 服务器未找到与请求的URI(统一资源标识符)匹配的任何内容。 (XHR):GET - http://localhost:63342/COMP266/Unit%204/mustache.min.js?_=1450903391318
奇怪的是,它似乎完全从路径中删除了script
文件夹。
我决定玩游戏,所以我将获取路径更改为(复制脚本文件夹):
./scripts/scripts/mustache.min.js
但这会产生:
HTTP404:未找到 - 服务器未找到与请求的URI(统一资源标识符)匹配的任何内容。 (XHR):GET - http://localhost:63342/COMP266/Unit%204/scripts/scripts/mustache.min.js?_=1450903743022
现在正在听!不幸的是,这显然是错误的道路。
我不知道如何调试这个。似乎jQuery有选择地删除scripts
文件夹。这看起来很荒谬,但只是为了确保,我搜索了jQuery源代码,并且找不到任何可以进行观察到的路径过滤的内容。
它目前是本地的,不是托管的。
有人能给我一个关于这里发生了什么的暗示吗?
答案 0 :(得分:0)
事实证明问题是由于我忘记了我的模板添加了胡子脚本(来自之前的测试),导致它被添加两次。
我不明白这是如何影响它的。当模板添加导致错误时,它不像jQuery添加成功,因为更改jQuery提取路径导致错误消息的直接更改。
但是,当我从模板中删除脚本导入时,它确实有效。
我真的不明白这是如何导致特定文件夹从路径中删除的。