Javascript 角度-使用$http获取数据时出错:[ngRepeat:dups]

Javascript 角度-使用$http获取数据时出错:[ngRepeat:dups],javascript,angularjs,http,ng-repeat,Javascript,Angularjs,Http,Ng Repeat,您好,我刚开始使用AngularJs,我在使用$http获取数据和$scope.productInfos=data返回错误[ngRepeat:dupes]时遇到问题,下面是我的代码: $scope.processForm = function(formData) { $http({ method : 'POST', url: '/quote-tool/productinfoforproductids/', // using php

您好,我刚开始使用AngularJs,我在使用$http获取数据和$scope.productInfos=data返回错误[ngRepeat:dupes]时遇到问题,下面是我的代码:

$scope.processForm = function(formData) {

        $http({

          method  : 'POST',

          url: '/quote-tool/productinfoforproductids/', // using php to generate json i.e [{id:1},{id:2}]

          data: $('.js-checkedCompareForm').serialize(),

          headers : { 'Content-Type': 'application/x-www-form-urlencoded' }  // set the headers so angular passing info as form data (not request payload)

         }).success(function(result) {

            $scope.productInfos = result;

         }).error(function(err) {

             return err; 

        });
    };
他认为:

<div class="js-productInfo" ng-repeat="productInfo in productInfos">
    {{ productInfo.id }}
</div>

{{productInfo.id}
我不确定你是否认为这是重复的重复?
我一直在尝试使用track by$index,但仍然不起作用,相反,它在视图中显示了过多的重复。

当您在ngRepeat表达式中有重复键时,会发生这种类型的错误。使用
track by$index
可能会解决您的问题。查看此链接:


{{productInfo.id}

如果仍然出现错误,请提供fiddle/plunker

我设法找到了问题,它是由php生成的json文件引起的,该文件生成了错误的json格式,导致数据响应中出现错误

was: {id:1},{id:2}

 should be:  {
    "productInfos":[
      {id:1},
      {id:2}
    ]
  }

为了帮助您解决此问题,我们需要查看
$scope.productInfos
中的示例,以及不正确的输出是什么样子的。您好@Mike,您能提供http调用返回的数据吗?@Mike,如果您不能给出确切的结果,请提供示例数据。并检查结果中是否存在错误消息中指定的重复条目。
was: {id:1},{id:2}

 should be:  {
    "productInfos":[
      {id:1},
      {id:2}
    ]
  }