JSON在位置4处出现意外令牌m-将字符串从弹簧控制器传递到角度控制器

时间:2018-08-20 20:32:53

标签: angularjs spring-mvc

尝试将字符串从弹簧控制器发送到角度控制器时遇到错误, 弹簧控制器:

  @RequestMapping(value = "/getProductData", method = RequestMethod.GET, produces = "text/plain")
    public
    @ResponseBody
    String getDetails() throws Exception {

    //logic
    String productNames = "product1,prod2,prod3,prod4";

    return productNames;
}

angularjs控制器:

myApp.controller('getProductDataController', ['$rootScope', '$scope', 'MyService', function ($rootScope, $scope, MyService) {

  MyService.getProductDetails().then(
  function(response){

  $scope.productDetails = response;

  });

  }



Error : angular.min.js?dummy=0.5032774462756217:119 SyntaxError: Unexpected token m in JSON at position 4
    at JSON.parse 

1 个答案:

答案 0 :(得分:0)

这部分:produces = "text/plain"似乎在告诉Spring将值"product1,prod2,prod3,prod4"作为字符串返回。

Angular将尝试将其解析为JSON。打开您的开发工具并运行以下代码:

JSON.parse('product1,product2')

您会看到它无法将字符串解析为JSON。

尝试使用:produces = "application/json"