ajax中get和post区别

时间:2024-09-16 14:36:44

参考地址:http://blog.****.net/laijieyao/article/details/40426257

首先要明确的事$.get方法是使用GET方式进行异步请求。$.post方法使用POST方式来进行异步请求。

$.get

其结构为:

$.get(url [, data] [, callback] [, type])

url:请求的HTML页的URL地址

data(可选):发送至服务器的key/value数据会未为QueryString附加到请求URL中

callback(可选):载入成功时回调函数(即当Response的返回状态为success才调用)自动将请求结果和状态传递给该方法

type(可选):服务器端返回内容的格式,包括xml,html,script,json,text和_default.

例子如下:

  1. $(function(){
  2. $("#send").click(
  3. $.get("get3.php",{
  4. username: $("#username").val()
  5. content:$("#content").val()
  6. },function(data,textStatus){
  7. var username=data.user
  8. ..................
  9. },"json")
  10. );
  11. });

$.post

结构和使用方式上跟get的都基本相同。但是也有一些主要区别

1)GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的。

2)GET方式对传输的数据大小有限制,通常不能大于2KB,而POST方式传递的数据量要比GET方式大得多,理论上不受限制。

3)GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。

4)GET方式和POST方式传递的数据在服务器端的获取也不相同。在PHP中,GET方式的数据可以用$_GET[]获取,而POST方式可以用$_POST[]获取。两种方式都可以用$_REQUEST[]来获取。