PHP判斷ajax請求的原理

在發送ajax請求的時候,咱們能夠經過XMLHttpRequest這個對象,建立自定義的header頭信息, 在jquery框架中,對於經過它的$.ajax, $.get, or $.post方法請求網頁內容時,它會向服務器傳遞一個HTTP_X_REQUESTED_WITH的參數,php中就是在header一層判斷是不是ajax請求,對應的根據$_SERVER['HTTP_X_REQUESTED_WITH']判斷。php

define('IS_AJAX',       
((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')])) ? true : false);

注意:jquery

 

  • 通常狀況下$_SERVER['HTTP_X_REQUESTED_WITH']默認是XMLHttpRequest
  • $_SERVER['HTTP_X_REQUESTED_WITH']也能夠自定義建立的,使用XMLHttpRequest.setRequestHeader(name,value);
相關文章
相關標籤/搜索