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


Posted in Javascript onOctober 17, 2016

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处理的话,也会产生乱码.

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

Javascript 相关文章推荐
图片格式的JavaScript和CSS速查手册
Aug 20 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
jquery文档操作wrap()方法实例简述
Jan 10 Javascript
jquery中checkbox使用方法简单实例演示
Nov 24 Javascript
如何通过js实现图片预览功能【附实例代码】
Mar 30 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
jquery插件锦集【推荐】
Dec 16 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
Mar 30 Javascript
12个非常有用的JavaScript技巧
May 17 Javascript
vue-cli配置环境变量的方法
Jul 09 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
Sep 19 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
Dec 07 Vue.js
微信小程序 教程之模块化
Oct 17 #Javascript
微信小程序 教程之注册页面
Oct 17 #Javascript
微信小程序 教程之注册程序
Oct 17 #Javascript
微信小程序 教程之小程序配置
Oct 17 #Javascript
jQuery事件对象总结
Oct 17 #Javascript
微信小程序 MINA文件结构
Oct 17 #Javascript
Jquery实现上下移动和排序代码
Oct 17 #Javascript
You might like
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python实现简单截取中文字符串的方法
2015/06/15 Python
Python类的动态修改的实例方法
2017/03/24 Python
python中的随机函数小结
2018/01/27 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
后勤人员岗位职责
2013/12/17 职场文书
体育专业求职信
2014/07/16 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
论群众路线学习笔记
2014/11/06 职场文书
文明单位汇报材料
2014/12/24 职场文书
干部考核工作总结2015
2015/07/24 职场文书
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers