PHP判斷一個請求是AJAX請求還是普通請求_PHP教程

來源:互聯網
上載者:User
在PHP程式中,如何判斷一個網頁請求是ajax請求還是普通請求?我們在做項目中經常會存在這樣一個問題,在瀏覽器中直接輸入我ajax提交的地址後,瀏覽器就能直接請求資料並將資料列印到頁面上。從程式的嚴謹性上和安全上來說,我覺得這樣非常不好。

但是由於水平有限,這個問題直到今天才被我解決,特此留下文章以供有此需要的人學習。

首先說說原理:在發送ajax請求的時候,我們可以通過XMLHttpRequest這個對象,建立自訂的header頭資訊,如果您使用的是原生的ajax方法,也就是未使用jquery或者其他js架構套件裝的ajax方法,那麼代碼如下:

xmlHttpRequest.setRequestHeader("request_type","ajax");

另外通過jquery封裝的$.ajax()方法,我們可以輕鬆地在發送ajax請求之前,建立我們自訂的header頭資訊,樣本如下:

$.ajax({type:"GET",url:base_url + 'php_check_ajax_request/get_user_list.html',beforeSend:function (XMLHttpRequest) {XMLHttpRequest.setRequestHeader("request_type","ajax");},success:function(data){$("#user_list").html(data);$tip.hide();$button.attr('disabled',true);}});

上面的代碼中有一句:

XMLHttpRequest.setRequestHeader(“request_type”,”ajax”);

這一句代碼就是向header頭資訊裡面建立了一個我們自訂的一個變數“request_type”。這個變數在php中接收變數如下:

$_SERVER['HTTP_REQUEST_TYPE']

那麼對於本文所提出的的問題,我們就可以按下面這種方式來判斷使用者發送的請求是哪種方式了。

需要說明的是 “request_type”這個變數值是我們自訂的,你還可以隨意自訂,比如“test”,“is_ajax”等等。

您可能感興趣的文章

  • http請求中同步請求和非同步請求的區別
  • php判斷字串是否全英文,純中文,中英文組合的方法
  • php如何判斷當前的作業系統是linux還是windows
  • js如何判斷滑鼠滾輪是向下還是向上滾動
  • php判斷日期格式是否正確的方法總結
  • php判斷遠程檔案是否存在的辦法
  • 程式員和測試員之間的經典對白。這些是國外程式員總結分享的,稱其上全球通用?
  • php提取社會安全號碼碼中的生日日期以及驗證是否為未成年人的函數

http://www.bkjia.com/PHPjc/764108.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/764108.htmlTechArticle在PHP程式中,如何判斷一個網頁請求是ajax請求還是普通請求?我們在做項目中經常會存在這樣一個問題,在瀏覽器中直接輸入我ajax提交的...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.