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 相关文章推荐
基于jQuery实现点击同时更改两个iframe的网址
Jul 01 Javascript
jQuery实现单行文字间歇向上滚动源代码
Jun 02 Javascript
jQuery创建DOM元素实例解析
Jan 19 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 Javascript
jQuery的文档处理程序详解
May 10 Javascript
浅谈js里面的InttoStr和StrtoInt
Jun 14 Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 Javascript
jQuery电话号码验证实例
Jan 05 Javascript
js的OOP继承实现(必看篇)
Feb 18 Javascript
微信小程序-getUserInfo回调的实例详解
Oct 27 Javascript
ES6的Fetch异步请求的实现方法
Dec 07 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
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内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
Javascript 继承机制实例
2009/08/12 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
JavaScript中立即执行函数实例详解
2017/11/04 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
Python并发:多线程与多进程的详解
2019/01/24 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
如何用Python 加密文件
2020/09/10 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
新加坡交友网站:be2新加坡
2019/04/10 全球购物
生产车间主任的个人自我鉴定
2013/10/25 职场文书
数学专业推荐信范文
2013/11/21 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
社区灵活就业证明
2014/11/03 职场文书
小英雄雨来观后感
2015/06/09 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android