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 isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
jquery(hide方法)隐藏指定元素实例
Nov 11 Javascript
javascript中replace( )方法的使用
Apr 24 Javascript
Bootstrap每天必学之缩略图与警示窗
Nov 29 Javascript
PHP获取当前页面完整URL的方法
Dec 02 Javascript
jquery.uploadView 实现图片预览上传功能
Aug 10 jQuery
Vuex提升学习篇
Jan 11 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
Vue使用NProgress进度条的方法
Sep 21 Javascript
Centos7 安装Node.js10以上版本的方法步骤
Oct 15 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
Apr 03 Javascript
JS实现炫酷雪花飘落效果
Aug 19 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的Yii框架中登陆功能的实现
2015/08/21 PHP
php生成验证码函数
2015/10/20 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
微信小程序实现动态获取元素宽高的方法分析
2018/12/10 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
蜜蜂引路教学反思
2014/02/04 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
本科毕业生自荐信
2014/05/26 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
保密工作整改报告
2014/11/06 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技