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);
相关文章
相关标签/搜索