您好我刚刚开始使用AngularJs,我在使用$ http获取数据时遇到问题并且$ scope.productInfos = data返回错误:[ngRepeat:dupes],下面是我的代码:
<p>
在视图中:
$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;
});
};
我不确定棱角将它视为重复的复制? 我一直在尝试使用$ index跟踪,但仍然没有工作,它在视图中显示过多的重复。
答案 0 :(得分:0)
当您在ngRepeat表达式中有重复键时会发生此类错误。可能正在使用 // Html Code
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<form action="#" method="post" class="validateUser">
passwrod:<input type="password" class="form-control" name="password" id="PasswordFild1">
Conform Password: <input type="password" class="form-control" name="password_again" id="PasswordFild2">
</form>
// Jquery Validation
$(document).ready(function(){
$("#PasswordFild2").change(function() {
var PasswordFild1= $("#PasswordFild1").val();
var PasswordFild2= $("#PasswordFild2").val();
if(PasswordFild1 == PasswordFild2 )
{
// Then Validate Both Password Match
}else
{
alert('Enter Same password');
// alert or error mess Print : password not match
}
// Check input( $( this ).val() ) for validity here
});
});
将解决您的问题。请看此链接:https://docs.angularjs.org/error/ngRepeat/dupes
track by $index
如果您仍然收到错误,请提供小提琴/弹药。
答案 1 :(得分:0)
我设法找到问题,它是由php生成的json文件引起的,它生成了一个错误的json格式,导致数据响应中的错误。
was: {id:1},{id:2}
should be: {
"productInfos":[
{id:1},
{id:2}
]
}