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