В ASP.NET MVC Я вызываю метод контроллера, который возвращает JsonResult
.JSON.parse - недействительный токен
В моей JavaScript я пытаюсь сделать это:
var result = JSON.parse(data);
Где data
это:
{
"ExtensionData": {},
"ErrorMessage": "Test error message.",
"From": null,
"Notation": null,
"To": null,
"Valid": false
}
Но я получаю следующее сообщение об ошибке:
SyntaxError: Unexpected token o at Object.parse (native)
I попробовали разбор данных на http://jsonlint.com/, но он разбирает ОК там.
Что я делаю неправильно?
EDIT:
Я использую 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;
});
Вы можете добавить свой звонок в AJAX? – TysonWolker
console.log (typeof data === 'object') - это правда? – TysonWolker
Если ваш возвращаемый JsonResult (например, 'return Json (myObject);'), то 'data' уже JSON, поэтому вы не должны пытаться его снова проанализировать. –