You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用HTTP GET请求时遭遇[$resource:badcfg]错误求助

嘿,我来帮你搞定这个AngularJS的$resource错误!

你遇到的[$resource:badcfg]错误,核心原因是AngularJS的$resource对响应类型的期望和实际返回不匹配。我仔细看了你的代码,发现问题出在自定义的getUsersByName方法配置里——你加了一个globalError: false的参数,但这个参数根本不是AngularJS $resource支持的合法配置项!在你用的1.2.20这个老版本里,这种未知参数会干扰配置解析,导致你设置的isArray: true没有生效,$resource默认把响应当成对象来解析,但你的后端返回的是数组,自然就报错了。

给你两个修复步骤:

  • 首先删掉那个无效的globalError: false配置项
  • 其次,你$resource默认参数里的{ id: '@id' }完全多余(你的URL里没有id占位符,调用时也不需要传id),一起删掉更干净

修改后的Service.js代码应该是这样的:

dashboard.factory('User', ['$resource', 'urlPrefix', function ($resource, urlPrefix) { 
  return $resource(urlPrefix + '/user/json/getUsersByName', {}, { 
    getUsersByName: { 
      method: 'GET', 
      isArray: true 
    } 
  }); 
}]);

这样配置后,$resource就会正确识别后端返回的数组响应,和你期望的类型匹配,那个badcfg错误应该就消失了。

另外提一句:如果需要处理全局错误,别在$resource方法里加自定义参数,应该用AngularJS的HTTP拦截器来实现,这才是官方推荐的方式哦~

内容的提问来源于stack exchange,提问作者Vítor Resende

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:02:03