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实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
jquery 鼠标滑动显示详情应用示例
Jan 24 Javascript
jquery easyui中treegrid用法的简单实例
Feb 18 Javascript
javascript使用正则获取url上的某个参数
Sep 04 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
javascript格式化日期时间方法汇总
Jun 19 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
Asp.Net之JS生成分页条的方法
Nov 23 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
Vue点击切换Class变化,实现Active当前样式操作
Jul 17 Javascript
js canvas实现五子棋小游戏
Jan 22 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
我的论坛源代码(四)
2006/10/09 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
非常漂亮的JS代码经典广告
2007/10/21 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
python 处理string到hex脚本的方法
2018/10/26 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
幼儿园中班新学期寄语
2014/01/18 职场文书
个人自我剖析材料
2014/02/07 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
保护环境建议书100字
2014/05/13 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers
java中如何截取字符串最后一位
2022/07/07 Java/Android