Javascript 如何像ajax一样在jQuery.load中传递头?

Javascript 如何像ajax一样在jQuery.load中传递头?,javascript,jquery,ajax,Javascript,Jquery,Ajax,这几天我一直被这个问题困扰着。我想在jQuery.load()中发送一些头数据。似乎jQuery.load从未像ajax那样发送标题。有人能解释一下怎么做,还是有必要?顺便说一句,对不起我的英语不好 以下是语法: $loadingBay.load(href, settings.data, function (data, status) { prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(th

这几天我一直被这个问题困扰着。我想在jQuery.load()中发送一些头数据。似乎jQuery.load从未像ajax那样发送标题。有人能解释一下怎么做,还是有必要?顺便说一句,对不起我的英语不好

以下是语法:

$loadingBay.load(href, settings.data, function (data, status) {
    prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents());
});

非常感谢

您可以在
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); }
});
或者也可以使用
标题

$.ajax({
    url: "http://localhost/restTest",
    data: { uname: "asdf" },
    type: "GET",
    headers:{ "X-TOKEN": 'xxxxx'},
    success: function() { alert('Success!' + authHeader); }
});

您不能将标题数据传递给
$.load()
,但可以使用
$.ajaxSetup()
设置默认设置,如下所示:

$.ajaxSetup({
    'headers':{
        'header1':'value1',
        'header2':'value2',
    }
}
);

//give the load call here
$('selector').load('url',function(){
    //do things
})
免责声明:

不建议使用它

最好的方法是使用
$.ajax()


我认为您需要使用普通的ajax函数。($.ajax)
$.ajax()
的问题是这无法完成您想用
.load()
完成的工作?我已经尝试过了,但没有成功。语法如下:$loadingBay.load(href,settings.data,function(data,status){prep(status=='error'?$tag(div,'error').html(settings.xhroror):$(this.contents();})@感谢您的编辑,.load()是.get()的包装,.get()是.ajax()的包装。您可以使用.ajax()方法重新创建load,然后添加HeadersThank Man.。您提供了一个很好的示例和线索。.上帝保佑您,ajax方法没有添加任何头?在我的情况下,并非所有ajax都需要头。顺便说一句,谢谢兄弟。对我来说输入得很好。@Liam我的错误,修复了打字错误。谢谢:)
$.ajax({
  url: "test.html",
  headers : {header1 : "header1"}       
  }).done(function(data) {
     $('selector').html(data);
});