我最近被要求尝试修复一个内置angularjs的应用程序,以便在IE7中运行。主要问题似乎是从服务器检索数据。
以下示例代码适用于所有浏览器> IE7
$scope.getEntity = function (id, callback) {
$http.get('/views/entities/' + id).
success(function(data) {
$scope.entity = data;
callback();
}).
error(function(data) {
$window.location.href = '/error';
});
};
当它在IE7中触发时,它总是会抛出一个带有未定义数据参数的错误并重定向到错误页面。
为什么会发生这种情况?它仅与IE7隔离,因为它在所有其他浏览器中都能正常工作。
答案 0 :(得分:1)
正如1.2.x manual所说,
要使您的Angular应用程序在IE上运行,请确保:
您为IE7及以下版本填充了JSON.stringify。您可以使用JSON2或JSON3 polyfills。
在明显调用JSON
方法的地方(如JSON AJAX请求)可能会错过填充。