当前位置:  开发笔记 > 前端 > 正文

POST与Ajax通话

如何解决《POST与Ajax通话》经验,为你挑选了2个好方法。

既然大多数现代浏览器都支持AJAX和客户端请求而不执行POST,那么POST(表单帖子)的作用是什么?

当POST始终优先于XmlHttpRequest时,是否存在情况或一般规则?

POST所做的就是在服务器头部放置变量键值对.POST我可以想到的优点是大量的数据和移动浏览器.我还有很多其他人吗?

NB我知道你可以用AJAX调用执行POST,我主要是用

标签来讨论



1> Mr. Shiny an..:

这个问题有点棘手,因为它混淆了两个概念.第一个是POSTing,第二个是Ajax.与GETting相比,POST是一种具有不同实现和语义的不同HTTP方法.Ajax或XmlHttpRequest在正常请求/导航中具有对应性.您可以对XmlHttpRequest和普通导航和表单提交使用POST或GET(好吧,POST始终是"表单提交").XmlHttpRequest和普通请求之间的区别在于普通请求用新页面替换页面.

您可以只使用Ajax编写任何网站来获取数据并更改DOM; 这主要是Gmail的工作原理.传统意义上没有"表格提交".但仍有GET和POST,因为服务器和浏览器对结果的解释不同.GET应该是幂等的; POST适用于更改服务器状态的操作.例如,ecom事务应该是POST.使用Ajax时这不会改变,因为您希望代理服务器也了解这是一个POST,并且他们不应该尝试缓存响应.

使用GET和POST也有优点和缺点.您无法为POST结果添加书签,因为隐藏了参数.你不能用无限长度的参数值获取东西,因为IE只支持大约2000个字符.

使用Ajax和正常提交也有缺点; 你不能将结果页面加入书签(因为页面没有改变); 后退按钮将无法按预期工作.但是使用Ajax,您可以最大限度地减少传输的数据,并为页面提供方便的更新(例如监视长进程的状态),而不会产生烦人的闪烁或刷新.

总之,Ajax和传统表单提交这两种请求类型都可以与GET和POST一起使用,每种请求类型都有利弊.这两种类型都不能完成另一种类型的所有操作,因此您可以预期在可预见的未来会看到混合物.



2> Welbog..:

由于安全限制,某些操作无法使用AJAX请求执行.例如,使用AJAX无法上传文件.


即便如此,那仍然是一个POST,这是我的观点.
如果jQuery检测到Ajax请求中的文件上载,jQuery将自动在内部创建iframe,iframe中的表单以及形成的POST.
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有