我一直在看到一些beforeSend
回调函数的例子。 这些示例有时使用输入参数:beforeSend:function(req)
或beforeSend:function(xhr)
。beforeSend jquery函数的参数是什么?
我想,这个参数是jQuery的请求XMLHTTPRequest
,但是当我尝试这些例子似乎xhr
或req
对象null
。
在调用jquery对象的执行之前,是否需要创建xhr
参数并对其进行初始化?
这里是我想查询:
$.ajax({
url: "google.com",
beforeSend: function(jqXHR, settings) {
jqXHR.error = function(){
alert("failed");
}
}
})
工作例如:下面的代码
function make_basic_auth(un, pss)
{
var tok = un + ':' + pss;
var hash = Base64.encode(tok);
return "Basic " + hash;
}
$('#loginform').submit(function()
{
$.ajax
(
{
type: 'POST',
url: 'my.ip.address',
beforeSend: function(jqXHR, settings)
{
var username = $('.username').val();
var password = $('.passcode').val();
var auth = make_basic_auth(username, password);
jqXHR.setRequestHeader("Authorization", auth);
jqXHR.setRequestHeader('Content-Type', 'text/plain');
},
success: function(){
alert("ok");
},
error: function(){
alert("no");
}
}
);
});
我建议参考[jQuery文档](http://api.jquery.com/jQuery.ajax/) – MrOBrian
谢谢MrObrian先生,我已阅读过,而且我的问题依然如此。 – Rami
请求是否在没有beforeSend属性集的情况下工作? –