使用来自AngularJS的Web API JSON响应-错误:应为和数组,但得到了一个对象

Using Web API JSON Response from AngularJS - Error: expected and array but got an object

本文关键字:数组 一个对象 错误 AngularJS Web 响应 JSON API      更新时间:2023-09-26

我有一个Web API,它以JSON返回响应,格式如下:

{
  "email": "john@google.com",
  "password": null,
  "accessLevel": 2
}

我正试图访问该响应中的accessLevel字段,但我收到了以下角度错误:

Error in resource configuration for action `query`. Expected response to contain an array but got an object (Request: GET http://localhost:51608/api/UserRole?email=john@google.com...)

这是我的Angular资源代码(如下),我刚刚添加了isArray false来尝试解决这个问题:

function userRoleResource($resource, appSettings) {
    return $resource(appSettings.serverPath + "/api/UserRole?email=:email", { email: '@email' },
    {
        get: {
            method: 'GET',
            isArray: false
        }
    });
}

这就是我尝试使用数据的方式:

userRoleResource.query({ email: vm.userData.email },
   function (data) {
      vm.userData.accessLevel = data.AccessLevel;
});

您指定的"get"函数不是数组,但您使用的是"query"函数。

试试这个:

userRoleResource.get({ email: vm.userData.email },
    function (data) {
        vm.userData.accessLevel = data.AccessLevel;
});