Jquery AJAX POST与GET之间的区别


Posted in Javascript onNovember 14, 2013

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 相关文章推荐
cssQuery()的下载与使用方法
Jan 12 Javascript
jQuery chili图片远处放大插件
Nov 30 Javascript
jQuery学习基础知识小结
Nov 25 Javascript
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
js批量设置样式的三种方法不推荐使用with
Feb 25 Javascript
javascript实现动态侧边栏代码
Feb 19 Javascript
JavaScript事件委托技术实例分析
Feb 06 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
Dec 25 Javascript
jQuery formValidator表单验证
Jan 07 Javascript
AngularJS封装指令方法详解
Dec 12 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
Jan 11 Javascript
浅谈Node.js之异步流控制
Oct 25 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 #Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 #Javascript
JS中typeof与instanceof之间的区别总结
Nov 14 #Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
Nov 14 #Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 #Javascript
浅析用prototype定义自己的方法
Nov 14 #Javascript
Js nodeType 属性全面解析
Nov 14 #Javascript
You might like
php使用cookie保存登录用户名的方法
2015/01/26 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
python查找第k小元素代码分享
2013/12/18 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
Python中函数的返回值示例浅析
2019/08/28 Python
Python插件机制实现详解
2020/05/04 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
英语教师岗位职责
2014/03/16 职场文书
乡镇创先争优活动总结
2014/08/28 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python