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 相关文章推荐
网站接入QQ登录的两种方法
Jul 22 Javascript
node.js操作mongoDB数据库示例分享
Nov 26 Javascript
AngularJs中route的使用方法和配置
Feb 04 Javascript
JS实现的自定义水平滚动字体插件完整实例
Jun 17 Javascript
微信小程序  http请求封装详解及实例代码
Feb 15 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
js实现复制功能(多种方法集合)
Jan 06 Javascript
微信小程序switch开关选择器使用详解
Jan 31 Javascript
vue添加axios,并且指定baseurl的方法
Sep 19 Javascript
vue-resourc发起异步请求的方法
Feb 11 Javascript
JS实现鼠标按下拖拽效果
Jul 23 Javascript
vue watch监控对象的简单方法示例
Jan 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
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
JavaScript中获取元素索引的函数
2010/09/10 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
Vue.JS入门教程之处理表单
2016/12/01 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
Python线程的两种编程方式
2015/04/14 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Django用户认证系统 User对象解析
2019/08/02 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
python名片管理系统开发
2020/06/18 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
2014年创卫实施方案
2014/02/18 职场文书
年级组长自我鉴定
2014/02/22 职场文书
园艺师求职信
2014/04/27 职场文书
预防煤气中毒方案
2014/06/16 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
2022漫威和DC电影上映作品
2022/04/05 欧美动漫
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers