• 技术文章 >后端开发 >php教程

    PHP如何判断是否为AJAX请求?

    jacklovejacklove2018-05-22 18:05:39原创6404

    本篇讲解PHP如何判断是否为AJAX请求?。

    Jquery发送的ajax请求

    jquery会在请求头加一个 X-Requested-With 信息,信息内容为XMLHttpRequest,这样php可以使用$_SERVER这个全局数组来判别是否为ajax请求

    // php判断是否为ajax请求

    if (isset($_SERVER["HTTP_X_REQUESTED_WITH"] && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"] == 'xmlhttprequest')){
        // 是ajax请求
    } else {
        // 不是ajax请求
    }

    所以这里令我想到了TP里面了一个判断是ajax请求的常量IS_AJAX

    这里看一下这个常量是怎么定义的

    在ThinkPHP(3.2.2)中在ThinkPHP/Library/Think/APP.class.php(Line:49)

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

    可见ThinkPHP就是利用这种原理或者自己在表单中提交的

    原生js发起的ajax请求

    需要自己添加请求头信息,这样才可以在后台进行判断

    前台添加请求头的代码为:

    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET","test.php",true);
    xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    xmlhttp.send();

    本篇讲解PHP如何判断是否为AJAX请求,更多相关内容请关注php中文网。

    相关推荐:

    php程序报date()警告的处理的解决方法

    PHP开发中解决并发问题的几种实现方法案例发现

    PHP快速导出Table数据的教程

    以上就是PHP如何判断是否为AJAX请求?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:AJAX php 请求
    上一篇:php程序报date()警告的处理的解决方法 下一篇:php实现查找数组元素提高效率的方法
    大前端线上培训班

    相关文章推荐

    • 带你分清类中的构造函数与析构函数• PHP中的命名空间定义与使用(实例详解)• PHP中clone关键字和__clone()方法的使用(实例详解)• 怎样去搞定PHP类的继承?(总结分享)• 五分钟带你了解PHP中的魔术方法(实例详解)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网