0
我正在尝试使用ODataAngularResources。我阅读文档并按照它的显示方式here。以下是我使用它的方式。
$scope.claims = $odataresource("/odata/DeniedClaims")
.odata().withInlineCount().take(20).query();
在Chrome浏览器开发的Network
显示的数据,但我仍然得到以下错误:
Error: [$resource:badcfg] http://errors.angularjs.org/1.4.5/$resource/badcfg?p0=Error%20in%20resource…4=GET&p5=%2Fodata%2FDeniedClaims%3F%24top%3D20%26%24inlinecount%3Dallpages
为什么会出现这个错误,我怎么能解决这个问题?数据以JSON形式从服务器发送。当我在浏览器中输入时,我将所有数据都作为json数组。
错误消息中的链接告诉你为什么:“$ resource服务期望可以作为数组反序列化但是接收对象的响应,反之亦然时发生此错误。默认情况下,所有资源操作都需要对象,除了需要数组的查询外。“ – Starscream1984
对。我在文档中也阅读了那篇文章,但是我无法分辨为什么我从代码中得到这个错误。除了我展示的用于检索数据的代码外,我的代码中没有其他内容。它只使用ODataAngularResources从服务器获取数据。我怎样才能反序列化为一个数组?我认为我所需要做的就是从服务器检索数据。服务器使用json发送。 – user1828605
我收到的格式(如Chrome网络标签所示)就是这样的:'odata.metadata:“http:// localhost:58891/odata/$ metadata#DeniedClaims”,...} odata.metadata :“http:// localhost:58891/odata/$ metadata#DeniedClaims” value:[{id:14,AuthID:“1111223223”,状态:“DENIED”,EffectiveDate:“2015-08-10T00:00:00 “,...},...]' – user1828605