3 回答

TA貢獻1946條經(jīng)驗 獲得超4個贊
$http
用于通用AJAX。在大多數(shù)情況下,這是您要使用的。隨著$http
你將要作出GET
,POST
,DELETE
型手動調(diào)用和處理他們回到你自己的對象。
$resource
包裝$http
以用于RESTful Web API場景。
概而言之:RESTful Web服務將與一個端點為基于HTTP的方法,如與數(shù)據(jù)類型進行不同的處理數(shù)據(jù)的服務類型GET
,POST
,PUT
,DELETE
,等于是用一個$resource
,你可以調(diào)用一個GET
獲取資源作為JavaScript對象,然后對其進行更改并使用,然后將其發(fā)送回POST
,甚至使用刪除它DELETE
。
...如果有道理。

TA貢獻1793條經(jīng)驗 獲得超6個贊
我認為其他答案雖然正確,但并不能完全解釋問題的根源:REST
是的子集HTTP
。這意味著可以通過完成的所有操作REST
都可以通過完成,HTTP
但是不能通過完成的所有內(nèi)容都可以通過HTTP
完成REST
。這就是為什么在內(nèi)部$resource
使用$http
。
那么,何時互相使用?
如果您需要的只是REST
,也就是說,您正在嘗試訪問RESTful
Web服務,$resource
則將使其與該Web服務進行交互變得非常容易。
相反,如果您嘗試訪問不是RESTful
Web 服務的任何內(nèi)容,則必須使用$http
。請記住,您還可以RESTful
通過來訪問Web服務$http
,這將比使用麻煩得多$resource
。這是大多數(shù)人在AngularJS之外通過使用jQuery.ajax
(等效于Angular的$http
)進行此操作的方式。
添加回答
舉報