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

时间:2013-11-19 08:54:29

标签: 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) : $(this).contents());
});

非常感谢

2 个答案:

答案 0 :(得分:5)

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

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

//give the load call here
$('selector').load('url',function(){
    //do things
})

免责声明来自jquery doc

  

不推荐使用它。

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

$.ajax({
  url: "test.html",
  headers : {header1 : "header1"}       
  }).done(function(data) {
     $('selector').html(data);
});

答案 1 :(得分:4)

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

或者也可以使用headers之类的,

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