我们在使用Ajax时,当我们向服务器发送数据时,我们可以采用Get方式请求服务器,也可以使用Post方式请求服务器.那么,Get请求和Post请求的区别到底在哪呢? 
GET请求 
get是最常见的请求,最常用于向服务器查询某些信息。必要时,可以将查询字符串参数追加到URL的末尾,以便将信息发送给服务器,对XHR而言,位于传入open( )方法的URL末尾的查询字符串必须经过正确的编码才行,即查询字符串的每个参数的名称和值都 必须使用encodeURIComponent()进行编码,然后才能放到URL的末尾,而且所有的名-值对都必须由&号分隔。

xhr.open( "get", "example.php?name1=value1&name2=value2",true );

下面这个函数整可以辅助向现有URL的末尾添加查询字符串参数:

function addURLParam(){url += ( url.indexOf("?") == -1 ? "?" : "&" );url += encodeURLComponent(name) + "=" + encodeURLComponent( value );return url;
}

POST请求

使用频率仅次于GET的是POST请求,通常用于向服务器发送应该被保存的数据。 
POST请求应该把数据作为请求的主体提交,其请求的主体可以包含非常多的数据,而且格式不限。 
POST请求必须设置Content-Type值为application/x-form-www-urlencoded;如果不设置Content-Type 头部信息,那么发送给服务器的的数据就不会出现在$_POST超全局变量中。 
发送请求时POST请求在使用send方法时,需赋予其参数;

总结:
Get请求和Post请求的区别 
(1)使用Get请求时,参数在URL中显示,而使用Post请求,则不会显示出来; 
(2)Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节. 
(3)Get请求请求需注意缓存问题,Post请求不需担心这个问题; 
(4)Post请求必须设置Content-Type值为application/x-form-www-urlencoded; 
(5)发送请求时,

Get请求的参数都在url里,后台获取的时候可以通过Request.QueryString【key】;
         Post请求的参数都在Form里,后台获取的时候可以通过Request.Form【key】;
(6)GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。 
下面用代码来说明两者的区别:

GET请求:

function getMethod(){var xhr = new createXHR();var userName = document.getElementById("userName").value;var age = document.getElementById("age").value;//添加参数,以求每次访问不同的url,以避免缓存问题xhr.open( "get", "example.php?userName=" + encodeURTComponent( userName ) + "&age=" + encodeURTComponent( age ) + "&random=" + Math.random(), true );xhr.onreadystatechange = function(){if( xhr.readyState == 4 && xhr.status == 200 ){document.getElementById("result").innerHTML = xhr.responseText;}}//发送请求,参数为nullxhr.send( null );
}

POST请求:

function postMethod(){var xhr = new createXHR();var userName = document.getElementById("userName").value;var age = document.getElementById("age").value;var data = "userName=" + encodeURTComponent( userName ) + "&age=" + encodeURTComponent( age );//不用担心缓存问题xhr.open( "post", "example.php", true );//必须设置,否则服务器端收不到参数xhr.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );xhr.onreadystatechange = function(){if( xhr.readyState = 4 && xhr.status == 200 ){document.getElementById("result").innerHTML = xhr.responseText;}}//发送请求,要data数据xhr.send( data );}

客户端(前端)Ajax中Get请求和Post请求的区别相关推荐

  1. JSP、Servlet中get请求和post请求的区别总结

    在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...

  2. java中的post的作用,JSP、Servlet中get请求和post请求的区别总结

    在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...

  3. WEB中get请求和post请求的区别

    参考:https://blog.csdn.net/weixin_39361808/article/details/81136865 GET请求和POST请求是HTTP协议发送请求的两种基本方法. W3 ...

  4. 前端学习笔记-07post请求和get请求,样式以及CSS

    1.get请求和post请求的区别 2. style属性 通过设置style属性来改变样式 案例:使用style属性优化登录表单 <!DOCTYPE html> <html>& ...

  5. 接口定义,常见的接口,常见的接口请求方式,put请求和patch请求的区别

    接口定义:应用程序编程接口,指前后端数据交互的一套标准,包括软件内部之间的接口,硬件之间的接口或者是软件对外的接口. 常见的接口类型:         1,Webservice接口,主要用于服务端的接 ...

  6. get请求和post请求的区别(简洁易懂)

    一.GET和POST是什么? HTTP协议中的两种发送请求的方法,本质上都是在进行TCP连接. 二. GET请求和POST请求的区别是什么? GET请求参数是通过URL进行传递的,POST请求的参数包 ...

  7. get请求和post请求的区别(全面讲解)

    1.get请求一般是去取获取数据(其实也可以提交,但常见的是获取数据): post请求一般是去提交数据. 2.get因为参数会放在url中,所以隐私性,安全性较差,请求的数据长度是有限制的, 不同的浏 ...

  8. Post请求和Get请求的区别

    1.参数 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数.  其次:Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度限制,只能传递大约10 ...

  9. 简洁!get请求和post请求的区别——Web网络系列学习笔记

    一次网络交互分为以下三个部分 用户向服务器发送请求 服务器处理请求 服务器向用户返回响应 Get和Post是不同的用户请求方式 Get请求到达服务器后不会修改服务器上的数据, 以CSDN为例,点击查看 ...

最新文章

  1. CF20C Dijkstra?( Dijkstra!练手)难度⭐⭐⭐
  2. Error in exists(x): 第一个参数不对
  3. [转]苹果iOS 5限制应用本地存储问题
  4. 学完python基础开始学爬虫_零基础入门Python爬虫不知道怎么学?这是入门的完整教程...
  5. 我所理解的MVCMVPMVVM
  6. 正确的 Git 提交记录和分支模型
  7. 如何异步的处理restful服务(基础)
  8. 13.简述MYSQL的权限级别_MySQL权限级别
  9. 远程连接电脑_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!
  10. centos7 oracle_Centos7主机名变成bogon的原因及解决方法
  11. 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装2
  12. 如何关闭mac烦人的更新升级提醒
  13. 《算法第四版》环境搭建
  14. office出错怎么简单修复
  15. 文本特征提取和向量化
  16. 物联网开发 无线433MHz安防报警系统 上
  17. 开启win10隐藏语音库
  18. 《Hibernate上课笔记》------class6------Hibernate实现一对多关联映射
  19. TXT文本数据转换成Excel表格
  20. Xposed框架初次见面-开发自己的Xposed插件

热门文章

  1. 鸿蒙系统空城计,鸿蒙系统到底什么时候用在手机上?
  2. python多线程写日志_python 多线程logger问题
  3. linux 添加隐藏wi-fi,隐藏wifi怎么设置?
  4. AI技术人才成长路线十大方向
  5. VTK图形模型主要对象
  6. [USACO 07DEC]Best Cow Line, Gold
  7. windows/browser ---- cmd命令/powershell命令/chrome插件vimuim命令
  8. YOLO算法的ZYNQ移植尝试(SDx方法、ARM部分)
  9. spring复杂数据类型传递
  10. 【Advanced Windows Phone Programming】在windows phone 8中录制MP3和AAC及Amr音频