Ajax 请求之_请求类型详解

 1 $.ajax({
 2         url: "规定发送请求的 URL。默认是当前页面。",
 3         type: "post", // 请求类型,默认get // 在回调函数中,无需将json字符串转换为js对象,可以直接作为对象来使用
 4         dataType: "json",//数据返回值类型 // 回调函数
 5         data:{
 6           user:"张三",
 7           pass:"1234"
 8         },//规定了向服务器发送的数据
 9         async:true,//布尔值,表示请求是否异步处理。默认是 true。
10         success: function(result) { // result:封装返回json 格式的数据
11             alert("成功")//执行成功的代码
12         },
13         error:function(){
14             alert("失败");//执行错误
15         }
16     });

ajax无刷新技术,得益于浏览器内置的核心对象XMLHttpRequest对象

 

1、GET请求和POST请求的区别:

  1. get请求的参数在地址栏中,因此相对post不安全,而post请求的参数在请求体中,相对get较安全
  2. get请求发送的数据量有大小限制,而post理论上没有大小限制。
  3. get请求支持缓存,而post不支持缓存。(最重要的区别!)

2、当浏览器发送一个get请求时,会将请求的资源加载本地的缓冲中,当再次请求该资源的时候,浏览器会优先从本地缓冲中获取数据,如果缓存中没有数据,则请求服务器!而发送一个post请求时,浏览器根本就不会将请求的资源缓存到本地来

 

3、缓存:

    前端缓存:css、js、图片等静态资源

    后台缓存:从数据库中查询的数据缓存

 

4、当发送get请求时,如果不希望服务器返回缓存的数据,可以在地址栏后随机拼接参数,因此走不走缓存,浏览器和服务器是根据请求的地址是否一致来进行判断的!

1 xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true);
2 //get  会产生缓存,因为验证码不能用缓存,所以需要每次请求地址都不能一样

5、同步是单线程,会阻塞,异步是多线程,不会产生阻塞

posted @ 2017-11-13 23:30  年轻_即_出发  阅读(400)  评论(0编辑  收藏  举报