预期的响应包含一个对象,但在角度js中得到一个数组错误

时间:2015-04-07 05:20:33

标签: javascript angularjs

您好我已尝试创建简单的登录服务,但最终出现此错误。

我的服务

foodModule.factory('Login', function($resource){
    return $resource('http://localhost:1337/User/', {}, {

    });
});

我的功能

$scope.signIn=function(){
    console.log('Sign in function works');
    console.log($scope.user.signemail);
    console.log($scope.user.signpassword);
    $scope.signuser=Login.get({email:$scope.user.signemail,password:$scope.user.signpassword});
    console.log($scope.signuser);
}

错误:

Error: [$resource:badcfg] http://errors.angularjs.org/1.3.15/$resource/badcfg?p0=get&p1=object&p2=array

我在这里做错了吗?我希望我能正确地提一下这个方法,对这个错误有任何想法吗?

3 个答案:

答案 0 :(得分:1)

资源get应返回单个对象,但在您的情况下,将返回一个数组。

问题可能是您尝试使用GET登录。通常使用http POST进行登录。您最有可能使用Login.post代替Login.get

答案 1 :(得分:0)

$ resources的参数为resource(url, paramDefaults, actions)

首先你已经有了url和空白的paramDefaults是可以接受的,但是在最后的参数中你需要明确指定isArray:false。

所以行动就像: -

'query': {method: 'GET', isArray: false }

希望有所帮助:)

答案 2 :(得分:0)

确保您的$ resource配置与从服务器返回的数据的实际格式相匹配。

有关详细信息:https://docs.angularjs.org/api/ngResource/service/ $ resource