AJAX中使用post,get接收发送数据的区别

时间:2022-05-26 09:15:00

如何发起请求

xhr.send();

备注:

如果是get方式,send()命令中不用写任何参数
传递的数据可以写在url中,服务器用$_GEET[“参数名”]接收

如果是post方式发送请求,需要设置头才能正确把数据传递给后端页面
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send('数据名1=数据值&数据名2=数据值'),服务器用$_POST["参数名接收"]。

W3C建议我们使用get获取数据,使用post发送数据。

但实际上,无论是get还是post,都即可以发送数据,也可以接收数据。

区别:

get是以url的方式传递数据;而post是以http请求中的body部分传递数据。所以有种说法说post更安全。
get传递数据时,直接在浏览器地址栏中可以看到;而post可以使用开发者工具中看到。
get传递数据的最大量为4kb(不同浏览器不一样);而post通过设置服务器可以为无限大。
get传递的数据,中文会被编码或有可能出现乱码;而post不会。
get在IE下会走缓存;而post不会

AJAX中使用post,get接收发送数据的区别