jquery是js的類庫(kù),js本身不能操作header,因?yàn)閖s是在瀏覽器加載頁(yè)面過程中才開始執(zhí)行的header需要服務(wù)器端執(zhí)行操作
如果是ajax,是可以設(shè)置header
$.ajax({ url: "", data: {}, type: "GET", beforeSend: function(xhr){xhr.setRequestHeader('X-Test-Header', 'test-value');},//這里設(shè)置header success: function() {}});也就是setRequestHeader函數(shù)
如何在ajax請(qǐng)求中設(shè)置特殊的RequestHeader
現(xiàn)在ajax應(yīng)用已經(jīng)相當(dāng)廣泛了,有很多不錯(cuò)的ajax框架可供使用。ajax是一個(gè)異步請(qǐng)求,也主要是一種客戶端的腳本行為。那么,如何在請(qǐng)求之前為請(qǐng)求添加特殊的一些頭部信息呢?
下面是一個(gè)簡(jiǎn)單的例子,我用jQuery編寫,它的ajax函數(shù)中,有一個(gè)beforeSend方法,這個(gè)方法接受一個(gè)參數(shù),就代表了發(fā)起異步請(qǐng)求的XMLHttpRequest對(duì)象,我們可以用該對(duì)象的setRequestHeader方法實(shí)現(xiàn)我們的目的
為什么要setRequestHeader?
比如,在及時(shí)通信系統(tǒng)中,每次獲取消息或者發(fā)送消息,都需要去判斷這個(gè)用戶是否還在連線中,通過設(shè)置"accessToken",就可以實(shí)現(xiàn)正常通信;
beforeSend: function(request) { request.setRequestHeader("accessToken", accessToken);},<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <script src="jquery-1.3.2-vsdoc.js" type="text/javascript"></script> <script type="text/javascript" language="javascript"> $(function() { $("#test").click(function() { $.ajax({ type: "GET", url: "default.aspx", beforeSend: function(request) { request.setRequestHeader("Test", "Chenxizhang"); }, success: function(result) { alert(result); } }); }); }); </script></head><body> <form id="form1" runat="server"> <div id="v"> </div> <input type="button" value="測(cè)試" id="test" /> </form></body></html>jQuery.ajax() 如何設(shè)置 Headers 中的 Accept 內(nèi)容
其實(shí)很簡(jiǎn)單,首先如果是常見類型,則請(qǐng)直接設(shè)置 dataType 屬性
$.ajax({ dataType: "json", type: "get", success: function (data) { }});設(shè)置 dataType 后,會(huì)去 accepts 屬性(此屬性會(huì)預(yù)置一些常用類型)中直接拿相應(yīng)的類型添加到 Accept 中。
)%X02M](8[BKGW21{EY{0GD
如果想自己自定義 jQuery 中沒有的 Accept 內(nèi)容,可以手動(dòng)設(shè)置 accepts 屬性,使用 鍵值對(duì) 存儲(chǔ),然后再設(shè)置 dataType 屬性為剛剛自定義的鍵。
新聞熱點(diǎn)
疑難解答
圖片精選