js 使用ajax設(shè)置和獲取自定義header信息的方法小結(jié)
本文實例講述了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():獲取全部可默認可獲取的頭信息 */ 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)文章:
1. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera2. ASP.NET Core實現(xiàn)中間件的幾種方式3. React優(yōu)雅的封裝SvgIcon組件示例4. PHP字符串前后字符或空格刪除方法介紹5. ASP腳本組件實現(xiàn)服務(wù)器重啟6. 如何在jsp界面中插入圖片7. jsp+servlet實現(xiàn)猜數(shù)字游戲8. ASP基礎(chǔ)知識Command對象講解9. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享10. jsp+mysql實現(xiàn)網(wǎng)頁的分頁查詢
