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请求的区别:
- get请求的参数在地址栏中,因此相对post不安全,而post请求的参数在请求体中,相对get较安全
- get请求发送的数据量有大小限制,而post理论上没有大小限制。
- get请求支持缓存,而post不支持缓存。(最重要的区别!)
2、当浏览器发送一个get请求时,会将请求的资源加载本地的缓冲中,当再次请求该资源的时候,浏览器会优先从本地缓冲中获取数据,如果缓存中没有数据,则请求服务器!而发送一个post请求时,浏览器根本就不会将请求的资源缓存到本地来
3、缓存:
前端缓存:css、js、图片等静态资源
后台缓存:从数据库中查询的数据缓存
4、当发送get请求时,如果不希望服务器返回缓存的数据,可以在地址栏后随机拼接参数,因此走不走缓存,浏览器和服务器是根据请求的地址是否一致来进行判断的!
1 xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true); 2 //get 会产生缓存,因为验证码不能用缓存,所以需要每次请求地址都不能一样
5、同步是单线程,会阻塞,异步是多线程,不会产生阻塞