Angular:模板URL的GET请求第二次神秘失败

时间:2014-08-21 11:55:27

标签: asp.net angularjs sharepoint get

我有一个Angular应用程序依赖于使用一些模板网址 该应用程序在iframe中运行(请不要质疑为什么) 父页面上有一个javascript按钮,可以在每次点击时重新加载iframe和角度应用。

点击事件第一次发生时,事情很有效。应用程序已加载,同时向我的所有模板成功发送GET请求。

  

远程地址:127.0.0.1:80请求   网址:http://MyWebsite.com/_layouts/Project/MyAngularApp/angular-templates/term.html   请求方法:GET状态代码:200 OK请求Headersview源   接受:application / json,text / plain, /   接受编码:gzip,放气,SDCH   Accept-Language:en-US,en; q = 0.8,sv; q = 0.6 Connection:keep-alive   饼干:打开=%23ICD -10- EN_0_class_0_0_1%2C%23ICD -10- EN_2_class_0_0_0%2C%23ICD -10- EN_2_class_12312_0_0%2C%23ICD -10- EN_2_class_12313_0_0%2C%23ICD -10- EN_2_class_12715_0_0;   装载=%23_0_class_0_0_0;选定=%23ICD -10- EN_2_class_12725_0_0;   主持人:klassifikationer   引用者:http://MyWebsite.com/_layouts/Project/MyAngularApp/angularApp.html

但是每当再次发生click事件时,模板URL的所有GET请求都会失败

  

请求   网址:http://MyWebsite.com/_layouts/Project/MyAngularApp/angular-templates/term.html   请求标题显示临时标题Accept:application / json,   text / plain, /   引用者:http://MyWebsite.com/_layouts/Project/MyAngularAppr/angularApp.html

我收到此错误

"错误:$ compile:tpload错误加载模板" https://docs.angularjs.org/error/ $编译/ tpload?P0 =角模板%2Fterm.html

" 无法加载模板:angular-templates / term.html 描述: 当$ compile尝试从某个URL获取模板时,会发生此错误,并且请求失败。 要解决此错误,请确保正确拼写模板的URL并解析为正确的绝对URL。 Chrome开发者工具也可能有助于确定请求失败的原因。 如果您使用$ templateCache预加载模板,请确保使用模板填充缓存。"

我已检查过Chrome调试器的“网络”标签,并确认失败和成功的GET请求似乎都相同。相同的请求URL,相同的引用页面,相同的接受参数。

问题可能与$ compile指令有关吗? 我正在使用" tree"我找到的指令库。它允许嵌套模板并使用compile指令来构建它们。这可能是问题吗?这是指令enter link description here

的演示
 app.directive("tree", function (RecursionHelper) {
return {
    restrict: "E",
    scope: { family: '=' },
    controller: 'MyController',
    templateUrl: function(templateElement, templateAttrs) {
        return templateAttrs.templateUrl;
    },
replace: true,
restrict: 'E',
    compile: function (element) {
        // Use the compile function from the RecursionHelper,
        // And return the linking function(s) which it returns
        return RecursionHelper.compile(element);
    }
};

});

以及使用template-url参数的HTML的一些示例

<div class="repeater" data-ng-repeat="item in content">
    <tree family="item" template-url="angular-templates/term.html"></tree>
</div>     

最后,我还要提到Angular应用程序在dotNET项目中运行。 (sharepoint更具体)但我不认为这应该是问题。

0 个答案:

没有答案