jQuery Ajax 中 post 和 Get 的区别是什么? 下面本篇文章给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
jQuery Ajax 中 post 和 Get 的区别
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"];
更多 Web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/jquery/16738.html