jQuery Ajax中beforeSend
函数有什么用?
如何使用jQuery函数?
我在服务器端使用jQuery 1.6.0和使用Jersey API(Restful Web服务)。
$.ajax({
type: "GET",
url:ajax_url,
dataType: "json",
contentType: "application/json",
async: false,
beforeSend: function (xhr){
xhr.setRequestHeader('Authorization', "Basic "+ btoa(username + ':' + password));
},
success:function(data){
alert(data.groups);
},
error:function(xhr,err){
console.log("readyState:"+xhr.readyState+"\nstatus: "+xhr.status)
alert(xhr.responseText)
alert("Service is not Available , Try it after Some time");
}
});
Java代码:
@GET
@Produces(MediaType.APPLICATION_JSON)
public String authCheck(){
return "({"groups": "success"})";
}
每当我发送身份验证时,我都会收到成功回复。
如何使用beforeSend
函数,我们是否需要在服务器端做任何事情?
答案 0 :(得分:0)
通常beforeSend()
用于在实际发送AJAX请求之前做一些事情,比如设置自定义标题等等......
但是您需要在ajax调用之前对用户进行身份验证,而不是
创建另一个函数,该函数可以为用户提供身份验证或不响应
假设此函数为checkAuth();
所以使用
type: "GET",
url:ajax_url,
dataType: "json",
contentType: "application/json",
async: false,
beforeSend:checkAuth,
.
.
.