在Ajax中获取GET与POST

Jak*_*old 73 ajax semantics

是什么区别GETPOSTAjax的请求?

我没有看到这两者之间有任何区别,除了当我使用GET时,参数是在URL中发送的,这对我来说实际上没有任何区别,因为所有请求都是在后台进行的,用户没有找到任何区别.

编辑:PUTDELETE方法用于什么?

crb*_*crb 132

GET旨在从服务器获取数据.POST(以及鲜为人知的朋友PUT和DELETE)用于修改服务器上的数据.

GET请求永远不应导致从应用程序中删除数据.如果您有链接,可以点击GET删除数据,然后Google抓取您的网站可以点击所有"删除"链接.

这里可以找到规范的答案,它引用了HTML 2.0规范:

如果表单的处理是幂等的(即它对世界状态没有持久的可观察效果),那么表格方法应该是GET.许多数据库搜索没有明显的副作用,并且是查询表单的理想应用程序.

如果与表单处理相关联的服务具有副作用(例如,修改数据库或订阅服务),则该方法应为POST.

在AJAX调用中,您需要使用服务器支持的任何方法.您应始终设计服务器,以便POST/PUT/DELETE调用修改数据的操作.其他注释链接到REST,它通常将C/R/U/D映射到"POST或PUT"(创建)/ GET(读取)/ PUT(更新)/删除(删除).

  • +1:GET的基本定义 - 幂等性.POST,PUT和DELETE必须进行所有更改. (7认同)

Rya*_*ith 24

如果您通过HTTPS发送大量数据或敏感数据,则需要使用POST.如果它只是一个简单的参数,我会使用GET.

GET请求对可以发送的数据量有限制.我忘记了确切的数字,但如果您发送任何实质内容,这可能会导致问题.

基本上GET和POST之间的区别在于,在GET请求中,参数在URL中传递,而在POST中,参数包含在消息体中.

  • 是的,重要的是要指出存在与GET相关的大小限制,并且它们根据客户端和服务器软件而不同 (2认同)

Bri*_*ian 19

无论是否与AJAX无关.关于你正在采取的行动.我建议遵循REST的原则.其中有更新,删除等的进一步规定......