ajax响应头怎么修改,jquery中ajax请求如何设置http请求头

jquery中ajax请求如何设置http请求头,jQuery Ajax可以通过headers或beforeSend修改request的HTTP headers也可以获取HTTP headers,在ajax里面还有许多功能可以设置,大家可以多看看jquery的api慢慢摸索。

jQuery Ajax可以通过headers或beforeSend修改request的HTTP headers,例如:$.ajaxSetup({

//发送请求前触发

beforeSend: function (xhr) {

var date = new Date();

var time = date.getTime();

var random = getRandomString(20);

var token = 'API';

var confusion_str = '453#$@%!*121212';

var signature = $.sha1($.md5(time + random + token + confusion_str));

xhr.setRequestHeader('source', 1);

xhr.setRequestHeader('time', time);

xhr.setRequestHeader('random', random);

xhr.setRequestHeader('signature', signature);

}

});

注意:W3规定XMLHttpRequest并不能修改全部的HTTP Headers,而仅是一小部分。

jquery获取HTTP headers:$.ajax({

url: "./test.php",

type: "POST",

data: {"user" : "min", "pass" : "he"},

error: function(jqXHR, textStatus, errorThrown) {

if (textStatus == "error") {

alert(textStatus + " : " +errorThrown);

} else {

alert(textStatus);

}

},

success: function(data, textStatus, jqXHR) {

alert(jqXHR.getResponseHeader("Server"));

alert(jqXHR.getResponseHeader("Content-Type"));

alert(jqXHR.getResponseHeader("X-Powered-By"));

alert(jqXHR.getResponseHeader("Content-Encoding"));

alert(jqXHR.getAllResponseHeaders());

alert(jqXHR.getResponseHeader("Set-Cookie"));

//返回null,不能获取Set-Cookie的值

alert(data + textStatus);

}

});

jQuery通过XMLHttpRequest的getResponseHeader或getAllResponseHeaders()可以获取指定的HTTP header field的值,但规定不能获取Set-Cookie和Set-Cookie2的值。

但是需要注意的是当ajax的dateType是jsonp的时候,只少是我测试的时候在服务端我获取不到头信息,如果哪位大神能拿到,敬请指教。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值