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 相关文章推荐
jQuery 定时局部刷新(setInterval)
Nov 19 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
Aug 22 Javascript
Javascript继承(上)——对象构建介绍
Nov 08 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
jQuery$命名冲突怎么办如何解决
Jan 16 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
Nov 02 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
vue组件化中slot的基本使用方法
May 01 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
Jul 30 Javascript
微信小程序 教程之模块化
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
php面向对象全攻略 (七) 继承性
2009/09/30 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
PHP的消息通信机制测试实例
2016/11/10 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
JS 实现微信扫一扫功能
2018/09/14 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
python模拟斗地主发牌
2020/04/22 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
2014年宣传工作总结
2014/11/18 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
小学生表扬稿范文
2015/05/05 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript