js 使用ajax設(shè)置和獲取自定義header信息的方法小結(jié)
本文實(shí)例講述了js 使用ajax設(shè)置和獲取自定義header信息的方法。分享給大家供大家參考,具體如下:
1、js ajax 設(shè)置自定義header1.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():獲取全部可默認(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 跨域請求的情況下獲取自定義的header信息
JS AJAX 跨域請求的時(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錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. 八種Vue組件間通訊方式合集(推薦)2. GIT相關(guān)-IDEA/ECLIPSE工具配置的教程詳解3. idea設(shè)置代碼格式化的方法步驟4. JSP實(shí)現(xiàn)百萬富翁猜數(shù)字游戲5. ASP中if語句、select 、while循環(huán)的使用方法6. ASP實(shí)現(xiàn)加法驗(yàn)證碼7. php bugs代碼審計(jì)基礎(chǔ)詳解8. UDDI FAQs9. 高德地圖WEB版基礎(chǔ)控件展示 原創(chuàng)10. requestAnimationFrame定時(shí)動畫屏幕刷新率節(jié)流示例淺析
