jQuery公然忽略了我给.getScript()

时间:2015-12-23 20:55:47

标签: javascript jquery

我有一个脚本,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源代码,并且找不到任何可以进行观察到的路径过滤的内容。

它目前是本地的,不是托管的。

有人能给我一个关于这里发生了什么的暗示吗?

1 个答案:

答案 0 :(得分:0)

事实证明问题是由于我忘记了我的模板添加了胡子脚本(来自之前的测试),导致它被添加两次。

我不明白这是如何影响它的。当模板添加导致错误时,它不像jQuery添加成功,因为更改jQuery提取路径导致错误消息的直接更改。

但是,当我从模板中删除脚本导入时,它确实有效。

我真的不明白这是如何导致特定文件夹从路径中删除的。