// 初始化 XHR ,加入 HTTP_REFERER 資訊 $.ajaxSetup( { beforeSend: function(xhr) { var currentURL = document.location.href; if( currentURL.lastIndexOf( "?" ) >= 0 ) { currentURL = currentURL.substr( 0, currentURL.lastIndexOf( "?" ) ); } xhr.setRequestHeader("Referer", currentURL ); } });
2007年4月16日
JQuery, AJAX, 以及 HTTP_REFERER
有人可能會在網頁應用系統上會使用 HTTP_REFERER 這個 http 表頭參數來進行某些控管作業,一般來說瀏覽器會自動加上這個 http 表頭,不過如果是使用 JQuery 提供的 AJAX 相關函數時還能不能在伺服端取得這個 http 表頭內容呢?很不幸的是 JQuery 不會主動加上該 http 表頭,所以必須手動自己處理。幸運的是 JQuery 自從 1.1 開始增加了一個指定 XMLHttpRequest(XHR) 物件預設值的界面函式:$.ajaxSetup( settings ),透過這個函式可以讓 XHR 在進行各項 AJAX 呼叫時提供一些額外的設定處理。指定 XHR 物件的預設設定必須在進行 AJAX 呼叫前執行 $.ajaxSetup( settings ) 這個函式,通常會放在 $(document).ready() 內執行,以下範例是設定當 XHR 要對遠端主機傳送資料前先設定 Referer 這個 http 表頭內容,如果還有其他設定則可比照辦理。其他設定範例請參考 $.ajaxSetup(settings)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言