js 使用ajax設(shè)置和獲取自定義header信息的方法小結(jié)
本文實例講述了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 獲取請求返回的response的header信息
ajax請求完成,會返回xhr(XMLHTTPRequest)對象,這里面會包含返回的頭信息,可以通過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():獲取全部可默認可獲取的頭信息 */ var date=xhr.getResponseHeader('Date');// 服務(wù)器端時間 //獲取服務(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 跨域請求的情況下獲取自定義的header信息
JS AJAX 跨域請求的時候是不能設(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錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
bootstrap daterangepicker雙日歷時間段選擇控件詳解
這篇文章主要為大家詳細介紹了bootstrap daterangepicker雙日歷時間段選擇控件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06JavaScript的null和undefined區(qū)別示例介紹
在Javascript中對于這種生命后沒有給定初始值的變量,就給他一個undefined,如果要將一個標識符聲明稱object類型,但是暫時不給他實例,那么就可以將它先初始化為null2014-09-09undefined==null引發(fā)的兩者區(qū)別與聯(lián)系
undefined==null引發(fā)的兩者區(qū)別與聯(lián)系2007-12-12使用formatter函數(shù)設(shè)置Echarts的tooltip中動態(tài)單位
這篇文章主要為大家介紹了使用formatter函數(shù)設(shè)置Echarts的tooltip中動態(tài)單位實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07JavaScript 中定義函數(shù)用 var foo = function () {} 和 function foo()區(qū)
這篇文章主要介紹了JavaScript 中定義函數(shù)用 var foo = function () {} 和 function foo()區(qū)別介紹,需要的朋友可以參考下2018-03-03自制的文件上傳JS控件可支持IE、chrome、firefox etc
這篇文章主要介紹了自制的文件上傳JS控件可支持IE、chrome、firefox etc,需要的朋友可以參考下2014-04-04