3 回答
TA贡献1946条经验 获得超4个赞
$http
用于通用AJAX。在大多数情况下,这是您要使用的。随着$http
你将要作出GET
,POST
,DELETE
型手动调用和处理他们回到你自己的对象。
$resource
包装$http
以用于RESTful Web API场景。
概而言之:RESTful Web服务将与一个端点为基于HTTP的方法,如与数据类型进行不同的处理数据的服务类型GET
,POST
,PUT
,DELETE
,等于是用一个$resource
,你可以调用一个GET
获取资源作为JavaScript对象,然后对其进行更改并使用,然后将其发送回POST
,甚至使用删除它DELETE
。
...如果有道理。
TA贡献1793条经验 获得超6个赞
我认为其他答案虽然正确,但并不能完全解释问题的根源:REST
是的子集HTTP
。这意味着可以通过完成的所有操作REST
都可以通过完成,HTTP
但是不能通过完成的所有内容都可以通过HTTP
完成REST
。这就是为什么在内部$resource
使用$http
。
那么,何时互相使用?
如果您需要的只是REST
,也就是说,您正在尝试访问RESTful
Web服务,$resource
则将使其与该Web服务进行交互变得非常容易。
相反,如果您尝试访问不是RESTful
Web 服务的任何内容,则必须使用$http
。请记住,您还可以RESTful
通过来访问Web服务$http
,这将比使用麻烦得多$resource
。这是大多数人在AngularJS之外通过使用jQuery.ajax
(等效于Angular的$http
)进行此操作的方式。
添加回答
举报