$http响应和API响应的区别 [AngularJs]

3

当我从特定组的成员那里收到API请求时,我的应用程序出现了问题。

GET /api/organizations/1234/members?group=4321

如果我从这个请求开始导航,我就有了正确的成员,但是如果在导航到其他组之前导航到其他页面,则 $http 响应中充满了寄生成员,而 API 响应却是正确的(从 Chrome 开发者工具的网络选项卡中检查)
我想到了一些缓存,但是我找不到它!供参考,我使用jsData来挂载我的数据,但似乎不是问题所在。
下面是我发送 API 请求的函数代码:
var loadGroupMembers = function() {
 return $q(function(resolve, reject) {
   var callParams = {
     organizationId: $stateParams.OrganizationId,
     groupId: $stateParams.groupId
   };

   sendApiCall('groupMembers', 'get', callParams)
     .success(function(data) {
      resolve(data);
    })
    .error(function(data) {
    });
 });
};

var sendApiCall = function(requestId, method, params, data, queryStringParams) {
  params = params || {};
  data = data || {};

  var apiCallConfig = {
    params: config.params,
    method: config.method,
    url: "/api/organizations/1234/members?group=4321",
    data: data,
    cache : false
  };

  $rootScope.fn.setHistory($state.current.name, 'apiCall', 'sendManualApiCall:' + requestId);
  return $http(apiCallConfig);
};

如果您有问题或需要更多详细信息,请告诉我。 谢谢您的帮助! 编辑:我添加了调用sendApiCall函数的功能,并创建了一个小型的apiary,以展示来自api的数据:http://private-52326-groupmember.apiary-mock.com/organization/1234/members?group=4321

1
你可以提供更多关于如何使用它的信息,并且添加一些有关传递给函数的参数的详细信息吗? 一个jsbin/plunker也可以是一个很好的开始。 - Payou
@Payou 感谢您的回答,我在我的帖子中添加了一些细节,我不知道是否足够,但我没有看到其他直接影响此 API 调用的代码。而且这个 apiCall 对于很多其他请求都完美地工作,这很奇怪... - Lauriane Anthony
我仍然认为使用jsbin/plunker来展示代码运行情况可以更加有助于理解。但是我注意到一些奇怪的事情:sendApiCall方法从未使用过method/params参数,因为config.params/method总是被使用!那么config是在哪里定义的呢?此外,你何时使用了loadGroupMembers方法?如果没有可运行的代码,我也无法提供更多帮助...希望这已经对您有所帮助了。 - Payou
1个回答

0

这是与Jsdata相关的链接,由另一位开发人员创建的拦截器。对于每个API请求,拦截器都会在响应中添加一些相同类型的数据...所以问题已经解决了。 无论如何,感谢您的帮助 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接