2013-07-19 110 views
0

因此,我有一个ajax调用,调用一个控制器动作,该动作触发一个执行包,与我的主应用程序分离并返回一个结果。结果(成功或失败)是我想要从该控制器操作返回的内容,并且ajax操作当前是一个GET请求,其中包含与该请求一起发送的包的参数。如果这是GET请求是'RESTful',还是应该是POST请求?关于GET与POST与REST风格的服务的争论

+0

如果这是一个长时间运行的进程,则可以使用POST来启动分布式进程,然后使用GET来获取运行时进程的状态。 – Rob

回答

2

我会说它应该是一个POST。 GET应该没有其他效果然后检索数据的表示。 Here's W3C说什么。

使用GET如果:

  • 的相互作用是更像一个问题(即,它是一种安全操作,诸如查询,读取操作,或查找)。

使用,如果POST:

  • 的互动更像是一个顺序,或
  • 的相互作用改变在某种程度上资源的状态,用户将会感知(例如,订阅服务)或
  • 用户对交互结果负责。
+0

好帖子。在支持HTML规范呼吁后作为“数据处理”请求的操作,这几乎适合这里的法案。 – Rob

+2

那么,有什么相关的是* HTTP *规范(这是一个* IETF *规范,而不是W3C规范)。 –