我正在使用 AngularJS 1.6.4,我收到有关 $sce 的错误:
Error: [$sce:itype] http://errors.angularjs.org/1.6.4/$sce/itype?p0=html Trace de la pile : L/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js:6:425 trustAs@https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js:155:46 [...]
主控
(function(angular) {
'use strict';
angular.module('fooModule')
.controller('MainCtrl', ['$scope', '$q', '$http', '$sce', function ($scope, $q, $http, $sce){
...
$q.all([
...
]).then(function(responses) {
$scope.send = function(){
var data = {
...
};
$http({
url: 'file.php',
method: "POST",
data: $.param(data),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function successCallback(response) {
$scope.dataResponse = $sce.trustAsHtml(response);
}, function errorCallback(response) {
console.dir(response);
});
}
};
});
...
}]);
})(window.angular);
我不明白这个错误是什么意思。有人可以解释我吗?我该如何解决?
最佳答案
$sce:type
当您试图信任需要字符串的内容中的非字符串值时,会发生错误。
在成功回调中,response
对象可能不是 HTML 代码。因此,当尝试使用 $sce
将其信任为 HTML 时,它会失败。
检查 response
对象,可能有一个 response.data
包含您的 HTML 代码。
关于javascript - 如何修复此错误 : [$sce:itype] in AngularJS 1. 6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45961081/