使用 angularjs 在 IE7 中检索 json 数据时出错

Error retrieving json data in IE7 using angularjs

我最近被要求尝试修复 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 隔离,因为它在所有其他浏览器中工作正常。

正如1.2.x manual所说,

To make your Angular application work on IE please make sure that:

You polyfill JSON.stringify for IE7 and below. You can use JSON2 or JSON3 polyfills for this.

在明显应该调用 JSON 方法的地方(例如 JSON AJAX 请求)可能会遗漏 Polyfills。