在AJAX中获取GET和POST?

Xin*_*nus 22 ajax post get http

为什么AJAX中存在GET和POST请求,因为它不会影响页面URL?在AJAX中通过GET传递敏感数据会有什么不同,因为数据没有反映到页面URL?

Dan*_*llo 41

您应该根据Web服务的要求使用正确的HTTP动词.


处理集合 URI时:http://example.com/resources/

GET:列出集合的成员,并使用其成员URI进行进一步导航.例如,列出所有待售汽车.

PUT:意义定义为"用另一个集合替换整个集合".

POST:在集合中创建一个新条目,集合自动分配ID.创建的ID通常作为此操作返回的数据的一部分包含在内.

DELETE:意义定义为"删除整个集合".


处理成员 URI时:http://example.com/resources/7HOU57Y

GET:检索以适当的MIME类型表示的集合的已寻址成员的表示形式.

PUT:更新集合的已寻址成员或使用指定的ID创建它.

POST:将被寻址的成员本身视为一个集合,并创建一个新的下属.

删除:删除集合中已寻址的成员.


资料来源:维基百科

  • "有人真的打扰PUT和DELETE吗?" - 曾经听说过亚马逊S3? (10认同)
  • 是的,在定义RESTful Web服务时,绝对可以. (3认同)

Dav*_*und 18

好吧,至于GET,你仍然有网址长度限制.除此之外,可以想象服务器以不同方式处理POST和GET请求; 因此需要能够指定您正在做的请求.

  • 我没有提出捍卫长度限制的论据,我只是说它存在,并且你必须考虑它,因为在进行网络开发时,你真的无法忽视*浏览器*.但是,嘿,你不需要激励你的接受; dnl的回复也很好=) (5认同)
  • 长度限制在实践中也是一个非常有效的点.我完全赞同大卫"不能忽视浏览器". (3认同)

Che*_*try 9

GET和之间的另一个区别POST是在浏览器中处理缓存的方式.POST响应永远不会被缓存.GET可能会也可能不会根据响应标头中指定的缓存规则进行缓存.


T.J*_*der 6

有两个主要原因:

  1. GET请求对大小有一些非常严格的限制; POST通常能够包含更多信息.

  2. 后端可能是期待的,GET或者POST取决于它的设计方式.GET如果后端需要一个,那么我们需要灵活地做一个,或者POST如果它是预期的那样的话.


Dan*_*anH 6

它只是尊重http协议的规则.

获取 - 调用必须是幂等的.这意味着如果您多次调用它,您将获得相同的结果.它无意更改基础数据.您可以将其用于搜索框等.

调用不是幂等的.允许对基础数据进行更改,因此可以在create方法中使用.如果多次调用它,您将创建多个条目.