Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较服务中的JSON与AngularJS中的数据绑定值_Angularjs - Fatal编程技术网

比较服务中的JSON与AngularJS中的数据绑定值

比较服务中的JSON与AngularJS中的数据绑定值,angularjs,Angularjs,使用一个服务,我成功地检索了一个JSON数组,然后我将该数据泵入我的控制器,并尝试在用户输入他们想要的用户名时与数据绑定值进行比较,但我没有在值匹配时显示日志。以下是我所拥有的: 角度服务: loginApp.factory('userData',函数($http,$log){ 返回{ getUsers:函数(scb){ $http({method'GET',url'somelink/ajax/current_users.php})。 成功(函数(数据、状态、标题、配置){ $log.info(

使用一个服务,我成功地检索了一个JSON数组,然后我将该数据泵入我的控制器,并尝试在用户输入他们想要的用户名时与数据绑定值进行比较,但我没有在值匹配时显示日志。以下是我所拥有的:

角度服务:

loginApp.factory('userData',函数($http,$log){
返回{
getUsers:函数(scb){
$http({method'GET',url'somelink/ajax/current_users.php})。
成功(函数(数据、状态、标题、配置){
$log.info(数据、状态、标题()、配置);
scb(数据);
}).
错误(函数(数据、状态、标题、配置){
$log.warn(数据、状态、标题()、配置);
});
}
};
});
我的控制器:

loginApp.controller('loginController',
函数loginController($scope,userData){
//如果我在“activeusers”上运行日志
//我得到与下面相同的控制台日志
getUsers(函数(当前用户){
$scope.activeusers=当前用户;
});
$scope.createAccnt={
fname:“”,
名称:“,
用户名:函数(无效){
对于(变量i=0;i<$scope.activeusers.length;i++){
if($scope.activeusers[i].username==inValue){
log(“用户名匹配现有!!”;
}
}
},
电子邮件:“
};
}

返回的JSON数组:

[
{
“用户id”:“1”,
“用户名”:“userone”,
“密码”:“,
“名字”:“,
“姓氏”:“,
“电子邮件”:“,
“主动”:“主动”,
“身份验证令牌”:”
},
{
“用户id”:“2”,
“用户名”:“usertwo”,
“密码”:“,
“名字”:“,
“姓氏”:“,
“电子邮件”:“,
“主动”:“主动”,
“身份验证令牌”:”
}
]
Console显示的状态代码为200,并显示所有请求的数据,与此类似:

[Object, Object]
> 0
    user_id: "1"
    username: "userone"
    password: ""
    first_name: ""
    last_name: ""
    email: ""
    active: "1"
    auth_token: ""
    __proto__: Object
> 1
    user_id: "2"
    username: "usertwo"
    password: ""
    first_name: ""
    last_name: ""
    email: ""
    active: "1"
    auth_token: ""
    __proto__: Object

我所有的数据绑定都工作得很好,只是比较一下。我的for循环或if语句是否不正确?

如果我不理解您的问题,很抱歉,但应该这样做

for (var i = 0; i < $scope.createAccount.length; i++) {
    if ($scope.createAccount[i].username == inValue) {
        console.log("Username matches existing!!");
    }
}
for(变量i=0;i<$scope.createAccount.length;i++){
如果($scope.createAccount[i].username==inValue){
log(“用户名匹配现有!!”;
}
}
真是

for (var i = 0; i < $scope.activeusers .length; i++) {
    if ($scope.activeusers [i].username == inValue) {
        console.log("Username matches existing!!");
    }
}
for(var i=0;i<$scope.activeusers.length;i++){
如果($scope.activeusers[i].username==inValue){
log(“用户名匹配现有!!”;
}
}

将createAccount替换为activeusers

是的,应该感谢您,我很抱歉,我已经修复了,但仍然没有收到匹配的日志消息。似乎您的代码缺少一部分。是什么触发了createAccnt.userName()?这就是我的问题所在,当时我正试图快速设置我放置的绑定
createAccnt.userName()
在输入标记的name属性中。现在我在
ng绑定中将它作为一个值,并且控制台抛出一个“无法从未定义中获取值长度”。我将对此进行研究。我将把这个答案标记为已接受。谢谢