当前位置: 首页 > 编程笔记 >

Jquery AJAX POST与GET之间的区别详细介绍

王兴腾
2023-03-14
本文向大家介绍Jquery AJAX POST与GET之间的区别详细介绍,包括了Jquery AJAX POST与GET之间的区别详细介绍的使用技巧和注意事项,需要的朋友参考一下

1:GET访问 浏览器 认为 是等幂的

就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]

所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果

POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)

防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的]

设计WEB页面的时候 也应该遵守这个原则

2:一.谈Ajax的Get和Post的区别

Get方式:

用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。

Post方式:

当使用POST方式时,浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器,而不是作为URL地址的参数进行传递,使用POST方式传递的数据量要比使用GET方式传送的数据量大的多。

总之,GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。

使用get方式需要注意:

1 对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经encodeURIComponent方法处理.例:var url = "update.php?username=" +encodeURIComponent(username) + "&content=" +encodeURIComponent

(content)+"&id=1" ;

使用Post方式需注意:

1.设置header的Context-Type为application/x-www-form-urlencode确保服务器知道实体中有参数变量. 通常使用XmlHttpRequest对象的SetRequestHeader("Context-Type","application/x-www- form-urlencoded;")。

例:xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

2.参数是名/值一一对应的键值对,每对值用&号隔开.如 var name=abc&sex=man&age=18,注意var name=update.php?

abc&sex=man&age=18以及var name=?abc&sex=man&age=18的写法都是错误的;

3.参数在Send(参数)方法中发送,例: xmlHttp.send(name); 如果是get方式,直接 xmlHttp.send(null);

4.服务器端请求参数区分Get与Post。如果是get方式则$username = $_GET["username"]; 如果是post方式,则$username = $_POST["username"];

AJAX乱码问题

产生乱码的原因:

1、xtmlhttp 返回的数据默认的字符编码是utf-8,如果客户端页面是gb2312或者其它编码数据就会产生乱码
2、post方法提交数据默认的字符编码是utf-8,如果服务器端是gb2312或其他编码数据就会产生乱码

解决办法有:

1、若客户端是gb2312编码,则在服务器指定输出流编码
2、服务器端和客户端都使用utf-8编码

gb2312:header('Content-Type:text/html;charset=GB2312');

utf8:header('Content-Type:text/html;charset=utf-8');

注意:如果你已经按上面的方法做了,还是返回乱码的话,检查你的方式是否为get,对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经 encodeURIComponent方法处理.如果没有用encodeURIComponent处理的话,也会产生乱码.

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 问题内容: 这两个电话真的有区别吗?如果使用getJSON,则仍然必须在url中声明… 您可以在中执行相同的操作,并遍历JSON对象。 还是我要离开这里? 问题答案: 以下两个片段是等效的: 说一个请求是针对两件事: jQuery发送标头 jQuery解释入站响应,将其转换为JavaScript对象,然后将其传递给回调(因此您不必弄乱eval或其他转换机制)。 许多服务器端框架(例如Rails)会

  • 问题内容: 和和有什么区别? 在哪个条件下使用哪个更好? 问题答案: 是最可配置的,您可以在其中对HTTP标头等进行精细控制。您还可以使用此方法直接访问XHR对象。还提供了更细粒度的错误处理。因此可能会更复杂并且通常没有必要,但有时非常有用。您必须自己通过回调处理返回的数据。 只是它的简写,但抽象了一些配置,为隐藏的内容设置了合理的默认值。将数据返回给回调。它仅允许GET请求,因此附有类似抽象的功

  • 本文向大家介绍Hibernate中get()和load()之间的区别,包括了Hibernate中get()和load()之间的区别的使用技巧和注意事项,需要的朋友参考一下 在休眠模式下,and是两种用于获取给定标识符的数据的方法。它们都属于Hibernate会话类。如果给定标识符的会话高速缓存或数据库中没有可用的行,则方法返回null,而方法抛出未找到对象的异常。  序号 键 得到() 加载()

  • 本文向大家介绍分页和细分之间的区别,包括了分页和细分之间的区别的使用技巧和注意事项,需要的朋友参考一下 分页 分页是一种内存管理技术,其中,进程地址空间被分成大小相同的块,称为页面(大小为2的幂,介于512字节和8192字节之间)。进程的大小以页数为单位。类似地,将主存储器划分为称为帧的(物理)存储器的固定小块,并且将帧的大小与页面的大小保持相同,以最佳利用主存储器并避免外部碎片。 类似地,将主存

  • 我已经查看了JavaDoc参考,虽然我了解(各种链接)和(导出超类JavaDoc注释)之间的基本区别,但我需要澄清事情是如何实际实现的。 在EclipseIDE中,当我为继承的方法选择“GenerateElementComments”(从接口或toString()重写等)时,它会创建以下注释 如果我被要求生成JavaDoc,如果我不这样做,请将替换为,或者将其转换为真正的JavaDoc: 当我这样

  • 本文向大家介绍HTTP提交方式之PUT详细介绍及POST和PUT的区别,包括了HTTP提交方式之PUT详细介绍及POST和PUT的区别的使用技巧和注意事项,需要的朋友参考一下 Http定义了与 服务器的交互方法,其中除了一般我们用的最多的GET,POST 其实还有PUT和DELETE   根据RFC2616标准(现行的HTTP/1.1)其实还有OPTIONS,GET,HEAD,POST,PUT,D