Ajax中get请求和post请求的区别
2017-05-24 本文已影响142人
顽皮的雪狐七七
Form表单元素提供了两种数据传输的方式——get和post。虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同。
Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。
二者主要区别如下:
-
form表单中的method属性,默认的是get请求。
-
get请求数据在地址栏显示
post数据包含在请求主体里面,在头部里面有类型的显示 -
get请求数据相对于post请求而言是不安全的。
get请求是在通过地址栏URL传递,容易被第三方看到,而post请求是看不见的。 -
get提交的数据有长度限制,大概在4k左右(数据量小)
post提交数据没有限制,适合大数据量的传输 -
增、删、改使用的是post请求,安全性能高(登录、注册、注销、修改用post)
查使用的是get请求(搜索、查找信息用get) -
前端使用get请求后台使用$_GET获取
前端使用post请求后台使用$_POST获取 -
客户端提交请求
get
请求行 xhr.open('get','01.php?name=xm&age=12');
请求头 (默认设置好的,不需要设置)
请求主体 (可以传空,因为get不需要传数据,数据都跟在地址栏里面)
post
请求行 xhr.open('post','01.php');
请求头 (必须设置请求头)
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
请求主体 xhr.send("name=xm&age=10");
- 后台接收表单数据(PHP中)
$_GET
前端提交用get,后台接收$_GET['username'];
array关联数组,返回的是字符串,简单表单提交
$_POST
前端提交用post,后台接收$_POST['username'];
array关联数组,返回的是字符串,简单表单提交