get请求方式:
$.get函数,发起一个get请求,
//第一个参数是请求的url地址,
//第二个参数是请求参数,可以是一个urlencode过的字符串,也可以是
//一个对象,如果是对象jquery会自动把这个对象转为urlencode字符串
//第三个参数是请求成功时的回调函数,这个函数有三个参数,第一个
//参数res是请求返回的数据(jquery会自动判断数据类型,例如,如果
//是json,则会自动将json解析为对象,如果是普通文本,则res就是
//普通的字符串),第二个参数表示请求状态,和状态码对应。第三个参
//数是jqeury加工之后的XHR对象(如果需要获得响应头中的数据等,
//就需要通过XHR获得)。第二个和第三个参数通常不需要。
//第四个参数表示请求的数据类型,这个参数通常不需要写,因为jquery
//能够自动判断数据类型。
$.get("/getAPI",{
name:"huge",
age:28
},function(res,statusText,jqXHR){
alert(res.msg);
alert(statusText);
alert(jqXHR.getAllResponseHeaders());
//alert(jqXHR.getResponseHeader("Content-Length"));
});
post的请求方式:
$.post("/postAPI",{
name:"sun",
age:10
},function(res){
alert(res.msg);
});
自定义请求类型的Ajax的请求方式:
//$.ajax 是一个jquery底层函数,用于发送ajax请求,使用起来不
//如.get和.post方便,但是功能全,能够设置请求的每一个细节。
//$.ajax函数的参数是一个对象,对象中的属性用于配置本次请求。
$.ajax({
//请求类型
type:"get",
//请求地址
url:"/getAPI",
//请求是否异步,true就是异步,默认为true
async:true,
//设置期望服务器返回的数据类型(添加在请求头中)
accepts:{
data1:"text/json",
data2:"application/json"
},
dataType:"json",
//请求发送之前执行的回调函数,常用于设置请求头内容
beforeSend:function(jqXHR){
console.log("请求将要发送");
jqXHR.setRequestHeader("sunhuayu","28");
},
//本次请求是否缓存,如果对请求缓存,那么下次再请求这个url时,
//就不会再发起请求,而是用之前的缓存数据作为请求数据。
cache:false,
//设置请求的所有回调函数中的上下文,简单的说就是这只回调函数
//中this指针指向的对象是谁。设置为window后,将来回调函数调用
//时,其中的this就是window。
context:window,
//设置本次请求的参数,如果是一个对象或数组,则会自动转为
//urlencode字符串。
data:{
name:"sunhuayu",
age:8
},
//请求数据返回时,请求成功回调函数执行之前,对请求数据的一个
//预处理函数,通常在这个函数中进行解析,函数的返回值会交给
//jquery进一步处理(当做res交给success函数)。
dataFilter:function(data,type){
console.log("请求收到数据了,这是数据预处理函数,在请求成功之前调用,得到的数据是"+data+",类型是"+type);
return data;
},
//请求失败时的回调函数。
error:function(jqXHR,textStatus){
console.log("请求失败,原因:"+textStatus);
},
//本次请求是否触发全局ajax事件。
global:true,
//设置请求头,会覆盖掉beforSend中设置的相同键。
headers:{
student:"sunhuayu"
},
//请求成功时的回调函数,效果同$.get函数的回调函数。
success:function(res,textStatus,jqXHR){
alert("请求成功,数据为:"+res.msg);
},
//设置本次请求的超时时间限制。(请求发起后,10秒之内还没有
//请求完成,就作为请求失败处理)
timeout:3*1000
});
其中的有些参数设置根据自己的需要进行改变。