js 使用ajax設(shè)置和獲取自定義header信息的方法小結(jié)
本文實(shí)例講述了js 使用ajax設(shè)置和獲取自定義header信息的方法。分享給大家供大家參考,具體如下:
1、js ajax 設(shè)置自定義header
1.1 方法一:
$.ajax({
type: "POST",
url: "Handler1.ashx",
contentType: "application/x-www-form-urlencoded",
beforeSend: function (request) {
request.setRequestHeader("token1", "Chenxizhang");
},
success: function (data) {
//your code
}
});
1.2 方法二:
$.ajax({
headers: {
"testheader": "test"
},
type: "POST",
url: "Handler1.ashx",
contentType: "application/x-www-form-urlencoded",
success: function (data) {
//your code
}
});
2、js ajax 獲取請(qǐng)求返回的response的header信息
ajax請(qǐng)求完成,會(huì)返回xhr(XMLHTTPRequest)對(duì)象,這里面會(huì)包含返回的頭信息,可以通過getResponseHeader(key)和getAllResponseHeaders()獲取header信息;
$.ajax({
type: "POST",
url: "Handler1.ashx",
contentType: "application/x-www-form-urlencoded",
success: function (data) {
//your code
},
complete: function (xhr, data) {
/*
獲取相關(guān)Http Response header
getResponseHeader(key):獲取指定頭信息
getAllResponseHeaders():獲取全部可默認(rèn)可獲取的頭信息
*/
var date=xhr.getResponseHeader('Date');// 服務(wù)器端時(shí)間
//獲取服務(wù)端自定義的header信息
var stoken = xhr.getResponseHeader('servertoken');
var list = xhr.getAllResponseHeaders();
console.log(list);
/*
date: Fri, 12 Jul 2019 12:41:00 GMT
content-encoding: gzip
server: Microsoft-IIS/10.0
x-aspnet-version: 4.0.30319
x-powered-by: ASP.NET
vary: Accept-Encoding
content-type: text/plain; charset=utf-8
servertoken: test1
cache-control: private
content-length: 129
*/
}
});
3、js ajax 跨域請(qǐng)求的情況下獲取自定義的header信息
JS AJAX 跨域請(qǐng)求的時(shí)候是不能設(shè)置自定義的header信息的,但是是可以在response中獲取到服務(wù)端自定義的header信息,前提是服務(wù)端設(shè)置了Access-Control-Expose-Headers;
下面是 ASP.NET 的服務(wù)端示例:
public void ProcessRequest(HttpContext context)
{
context.Response.AddHeader("Access-Control-Allow-Origin", "*");
context.Response.AddHeader("Access-Control-Allow-Headers", "*");
context.Response.AddHeader("Access-Control-Allow-Methods", "*");
//自定義header信息
context.Response.AddHeader("servertoken", "test");
context.Response.AddHeader("Access-Control-Expose-Headers", "servertoken");
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript中ajax操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JavaScript 解決ajax中parsererror錯(cuò)誤案例詳解
- 如何基于JS實(shí)現(xiàn)Ajax并發(fā)請(qǐng)求的控制詳解
- 利用js實(shí)現(xiàn)Ajax并發(fā)請(qǐng)求限制請(qǐng)求數(shù)量的示例代碼
- vue3.0 加載json的方法(非ajax)
- jQuery+Ajax+js實(shí)現(xiàn)請(qǐng)求json格式數(shù)據(jù)并渲染到html頁面操作示例
- 原生js實(shí)現(xiàn)ajax請(qǐng)求和JSONP跨域請(qǐng)求操作示例
- jQuery使用ajax傳遞json對(duì)象到服務(wù)端及contentType的用法示例
- JS解決ajax無法后退的問題記錄
相關(guān)文章
js實(shí)現(xiàn)隨機(jī)點(diǎn)名小功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)隨機(jī)點(diǎn)名小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
小程序開發(fā)實(shí)戰(zhàn)指南之封裝自定義彈窗組件
最近在做公司的小程序項(xiàng)目,發(fā)現(xiàn)設(shè)計(jì)上有很多不統(tǒng)一,代碼上有很多冗余,下面這篇文章主要給大家介紹了關(guān)于小程序開發(fā)實(shí)戰(zhàn)指南之封裝自定義彈窗組件的相關(guān)資料,需要的朋友可以參考下2022-11-11
three.js利用gpu選取物體并計(jì)算交點(diǎn)位置的方法示例
這篇文章主要給大家介紹了關(guān)于three.js利用gpu選取物體并計(jì)算交點(diǎn)位置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用three.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

