【发布时间】:2015-06-28 02:29:09
【问题描述】:
来自 AngularJS 菜鸟的问题。
我正在尝试使用 asmx 网络服务来显示网格。我测试了 Web 服务,它正确输出了 JSON 数据。 这是我的控制器
app.controller('SetupController', ['$scope', '$http', function ($scope, $http) {
var url = 'app/pricefilessetup/grid.asmx/getGridJson';
$http.get(url).success(function (data) {
var myjson = JSON.parse(data);
$scope.products= JSON.parse(myjson);
});
}]);
由于某种原因,SO 不允许我粘贴 html,但它基本上有一个 ng-controller 指令和 ng-repeat 来循环遍历 JSON 数据。
当我运行这个网络应用程序时,我得到了错误
SyntaxError: Unexpected token o 在 Object.parse (本机) 它指向下一行
$scope.questions = JSON.parse(myjson);
我尝试使用 alert 检查 myjson 的值,它显示 [object Object], [object Object], ...
这里有什么我遗漏的地方
【问题讨论】:
-
我怀疑你是否需要使用
JSON.parse。默认情况下,Angular 期望响应为 JSON,并为您反序列化。 -
另外,
alert是一个糟糕的调试工具。改用console.log(或Angular的$log服务)
标签: javascript json angularjs angularjs-http