在ASP .NET MVC中,我调用的是一个返回JsonResult
。
在我的javascript中,我试图这样做:
var result = JSON.parse(data);
data
是这样的:
{
"ExtensionData": {},
"ErrorMessage": "Test error message.",
"From": null,
"Notation": null,
"To": null,
"Valid": false
}
但是我收到以下错误:
SyntaxError:意外的令牌o 在Object.parse(native)
我尝试解析http://jsonlint.com/上的数据,但在那里解析好了。
我做错了什么?
编辑:
我正在使用AngularJS,我正在调用返回JSON的控制器方法。
$scope.move = function (to) {
var x = $http({
url: moveUrl,
method: "POST",
params: { gameId: $scope.game.id, fromPosition: $scope.game.board.selectedSquare, toPosition: to }
});
x.success(function (data) {
var moveResult = JSON.parse(data);
...
...
});
在上述之前完成的类似调用实际上可以正常工作。
$scope.getGameModel = function () {
var x = $http({
url: gameModelUrl,
method: "POST",
params: { gameId: $scope.game.id, startingFen: $scope.startingFen }
});
x.success(function (data) {
$scope.game = JSON.parse(data);
});
x.error(function (data) {
$scope.error = data;
});
答案 0 :(得分:0)
您可以直接在javascript中使用
var errorMessage = data.ErrorMessage;
无需在JSON中转换它。