JSON.stringify(exception)返回空花括号?

时间:2018-12-14 07:29:12

标签: javascript json angular

我们正在$exceptionHandler callback回调内部使用$exceptionHandler收集错误事件,我们将异常信息存储在全局数组中。

但是当我们手动迭代exception对象时,它显示数据,在调试器中它也显示数据,但是当我们使用JSON.stringify(exception)时,它仅返回{}大括号。

可能是什么问题?

我在$exceptionHandler回调中的代码:

angular.module('myApp').factory('$exceptionHandler', ['$log', '$injector', function ($log, $injector) {
    var $rootScope;

    return function myExceptionHandler(exception, cause) {
        debugger
        $rootScope = $rootScope || $injector.get('$rootScope');
        var TAG = 'myExceptionHandlerTAG';

        var expJson = JSON.stringify(exception);
        var eve = {
                event : "error",
                params : { user_id : user_id,
                    role : role,
                    time : new Date().getTime(),
                    code_name: navigator.appCodeName,
                    name: navigator.appName ,
                    version: navigator.appVersion ,
                    cookie: navigator.cookieEnabled,
                    language: navigator.language,
                    on_line: navigator.onLine,
                    platform: navigator.platform,
                    user_agent: navigator.userAgent,
                    exception: expJson,
                    cause: cause },             
                source : "web_app" 
            };
        $rootScope.events_json.push(eve);
        $log.error(eve);
    };
}]);

更新:

调试器中exception对象的内容:

enter image description here

调试器中expJson对象的内容:

enter image description here

此外,除了分配给其他变量外,我不会在代码中的任何地方修改exception对象。

0 个答案:

没有答案