Roc*_*dra 5 javascript ajax jquery
几天后我一直被困在这个问题上.我想在jQuery.load()中发送一些头文件数据.似乎jQuery.load从不发送标头,如ajax.有人可以解释如何,或者是否有必要?顺便说一下,我的英语不好.
这是语法:
$loadingBay.load(href, settings.data, function (data, status) {
prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents());
});
Run Code Online (Sandbox Code Playgroud)
非常感谢
您可以在中使用beforeSendoption jquery ajax,如下所示:
$.ajax({
url: "http://localhost/restTest",
data: { uname: "asdf" },
type: "GET",
beforeSend: function(xhr){xhr.setRequestHeader('X-TOKEN', 'xxxxx');},
success: function() { alert('Success!' + authHeader); }
});
Run Code Online (Sandbox Code Playgroud)
或者也可以使用headers像,
$.ajax({
url: "http://localhost/restTest",
data: { uname: "asdf" },
type: "GET",
headers:{ "X-TOKEN": 'xxxxx'},
success: function() { alert('Success!' + authHeader); }
});
Run Code Online (Sandbox Code Playgroud)
您无法将标头数据传递给$.load(),但您可以使用以下方式设置默认设置$.ajaxSetup():
$.ajaxSetup({
'headers':{
'header1':'value1',
'header2':'value2',
}
}
);
//give the load call here
$('selector').load('url',function(){
//do things
})
Run Code Online (Sandbox Code Playgroud)
免责声明来自jquery doc:
不推荐使用它.
最好的方法是使用以下方法$.ajax():
$.ajax({
url: "test.html",
headers : {header1 : "header1"}
}).done(function(data) {
$('selector').html(data);
});
Run Code Online (Sandbox Code Playgroud)