10

有没有办法输出来自服务器的 JSON 响应?我正在尝试以下操作,但输出不理想:

$http({ method: 'GET', url: 'getUser' })
        .success(function (data,status) {
            $scope.user = data;
            console.log("User="+data);})
        .error(function (data,status) {
            $scope.status = status;
            if(status==403)
                $location.path( "/" );
        });

输出:

User=[object Object] 
4

4 回答 4

18

你可以stringify在打印之前。

console.log("User = " + JSON.stringify(data));
于 2013-09-05T08:26:01.817 回答
8

angular.toJson()如果您不想添加新的依赖项,也可以使用:

$log.debug(angular.toJson(data, true));

参考

于 2015-08-03T11:56:34.747 回答
4

根据您的浏览器,该log函数可以采用多个参数。例如,Chrome 就支持这个:

console.log("User = ", data);

执行此操作时,data将显示在对象浏览器中,您可以显示/折叠层次结构。它非常有用。由于我在 Chrome 中开发,因此我非常喜欢这种方法(优于JSON.stringify),因为它打字更少,调试体验更好。

如果您在不支持此语法的浏览器中进行调试,那JSON.stringify可能是您最好的选择。

于 2013-09-05T09:55:56.707 回答
0

console.dir(object)就是你要找的。它现在在所有浏览器 (IE9+) 中得到广泛支持。输出可以在这里查看。

于 2013-09-05T10:46:22.597 回答