无法在IE11中加载角度html模板

时间:2016-09-16 13:57:07

标签: javascript angularjs xmlhttprequest angularjs-ng-include

我正在尝试使用ng-include和包含我的模板的html文件的路径来加载模板。这适用于Chrome和Firefox,但出于某种原因不适用于IE 11.

IE在角度1.3.5中的属性赋值上抛出错误TypeError: Object doesn't support this property or method。特别是

    xhr.onload = function requestLoaded() { ... }

xhr对象是常规new window.XMLHttpRequest(),虽然我尝试使用ActiveXObject而不起作用。

我甚至不明白为什么(看似)简单的属性赋值会抛出这样的错误。我该如何解决这个问题?

编辑:

堆栈跟踪,如果它有所不同:

TypeError: Object doesn't support this property or method
   at Anonymous function ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:9673:7)
   at sendReq ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:9538:9)
   at serverRequest ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:9255:9)
   at processQueue ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:13077:11)
   at Anonymous function ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:13093:27)
   at Scope.prototype.$eval ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:14293:9)
   at Scope.prototype.$digest ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:14109:15)
   at Scope.prototype.$apply ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:14397:13)
   at Anonymous function ((PATH-TO-JS-FOLDER)/angular-1.3.5.js:22829:17)
   at o.event.dispatch ((PATH-TO-JS-FOLDER)/jquery-2.1.0.min.js:3:5999)

行号可能略有不同,但此处第9673行是包含xhr.onload =...

的行

1 个答案:

答案 0 :(得分:0)

作为最佳实践,使用angular时最好使用ajax方法中内置的角度。

示例:

$http.get('../urlpath').then(function(reponse){

$scope.data = response;

});

这是做同样的事情,但更强大并且针对性能进行了调整。

希望这有帮助