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ì)包含返回的頭信息,可以通過(guò)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頁(yè)面操作示例
- 原生js實(shí)現(xiàn)ajax請(qǐng)求和JSONP跨域請(qǐng)求操作示例
- jQuery使用ajax傳遞json對(duì)象到服務(wù)端及contentType的用法示例
- JS解決ajax無(wú)法后退的問(wèn)題記錄
相關(guān)文章
bootstrap daterangepicker雙日歷時(shí)間段選擇控件詳解
這篇文章主要為大家詳細(xì)介紹了bootstrap daterangepicker雙日歷時(shí)間段選擇控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06JavaScript的null和undefined區(qū)別示例介紹
在Javascript中對(duì)于這種生命后沒(méi)有給定初始值的變量,就給他一個(gè)undefined,如果要將一個(gè)標(biāo)識(shí)符聲明稱object類型,但是暫時(shí)不給他實(shí)例,那么就可以將它先初始化為null2014-09-09BootStrap入門(mén)教程(二)之固定的內(nèi)置樣式
這篇文章主要介紹了BootStrap入門(mén)教程(二)之固定的內(nèi)置樣式的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09undefined==null引發(fā)的兩者區(qū)別與聯(lián)系
undefined==null引發(fā)的兩者區(qū)別與聯(lián)系2007-12-12使用formatter函數(shù)設(shè)置Echarts的tooltip中動(dòng)態(tài)單位
這篇文章主要為大家介紹了使用formatter函數(shù)設(shè)置Echarts的tooltip中動(dòng)態(tài)單位實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07JavaScript 中定義函數(shù)用 var foo = function () {} 和 function foo()區(qū)
這篇文章主要介紹了JavaScript 中定義函數(shù)用 var foo = function () {} 和 function foo()區(qū)別介紹,需要的朋友可以參考下2018-03-03JavaScript實(shí)現(xiàn)圓形進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)圓形進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08自制的文件上傳JS控件可支持IE、chrome、firefox etc
這篇文章主要介紹了自制的文件上傳JS控件可支持IE、chrome、firefox etc,需要的朋友可以參考下2014-04-04