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 相关文章推荐
兼容ie、firefox的图片自动缩放的css跟js代码分享
Jan 21 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
使用jquery datatable和bootsrap创建表格实例代码
Mar 17 Javascript
Vue.js实现数据响应的方法
Aug 13 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
Aug 31 Javascript
node 解析图片二维码的内容代码实例
Sep 11 Javascript
javaScript把其它类型转换为Number类型
Oct 13 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
three.js 实现露珠滴落动画效果的示例代码
Mar 01 Javascript
详解vue3中组件的非兼容变更
Mar 03 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
PHP SQLite类
2009/05/07 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
php目录操作实例代码
2014/02/21 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
javascript call方法使用说明
2010/01/11 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
python实现数独算法实例
2015/06/09 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
Python 一句话生成字母表的方法
2019/01/02 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
python爬虫之自制英汉字典
2019/06/24 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
市场安全管理制度
2014/01/26 职场文书
升职演讲稿范文
2014/05/23 职场文书
公司任命书模板
2014/06/06 职场文书
病危通知书样本
2015/04/17 职场文书
生产现场禁烟通知
2015/04/23 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript