如何像jjax一样在jQuery.load中传递头文件?

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)

非常感谢

Pra*_*ram 5

您可以在中使用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)


MD.*_*oob 5

您无法将标头数据传递给$.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)