Search code examples
javascriptjsonangularjsangularjs-http

SyntaxError: Unexpected token o at Object.parse (native) AngularJS


Question from AngularJS noob.

I am trying to use an asmx web service to display grid. I tested the web service and it correctly outputs the JSON data. Here is my controller

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);
    });
}]);

For some reason, SO is not allowing me to paste the html but it basically has a ng-controller directive and ng-repeat to loop through the JSON data.

When I run this web app, I get the error

SyntaxError: Unexpected token o at Object.parse (native) and it points to following line

  $scope.questions = JSON.parse(myjson);

I tried checking the value of myjson using alert and it displays [object Object], [object Object], ...

Is there anything I am missing here


Solution

  • I think data returned is already in JSON, no need of JSON.parse(), unless it in string format.

    $scope.products= data;