2013-11-25 57 views
0

起初,我有這個,但得到錯誤Expected response to contain an object but got an array對象#<Resource>有沒有方法「推」

angular.module('homeModule').factory("TodosFactory", ['$resource', function ($resource) { 
return $resource('/api/todos/:todoId', { 
    todoId: '@_id' 
}); 
}]); 

所以我改成這樣:

angular.module('homeModule').factory("TodosFactory", ['$resource', function ($resource) { 
return $resource('/api/todos/:todoId', { 
    todoId: '@_id' 
}, {'save': {method: 'POST', isArray:true}}); // this line is added 
}]); 

我保存到數據庫中的項目並返回對象列表。一個JSON數組被返回,但我得到這個錯誤。

有什麼建議嗎?

回答

1

isArray屬性用於請求和響應。見AngularJs $resource use of isArray for both request and response

由於請求不是數組,因此出現錯誤。你可以把它包裝在一個數組中,然後把它從服務器端拉出來。

+0

好的,可能會解決問題,但我已經編寫了代碼,以便將添加到數據庫的項目返回,而不是所有的元素,因此它將尊重REST體系結構。 – Jaanus

相關問題