zoukankan      html  css  js  c++  java
  • PHP判断请求是否是ajax请求

    首先看一下框架里面是怎样判断的
    ThinkPHP

    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);
    其中C('VAR_AJAX_SUBMIT')默认是'ajax'即通过变量判断

    Laravel
    public function ajax()
    {
    return $this->isXmlHttpRequest();
    }
    public function isXmlHttpRequest()
    {
    return 'XMLHttpRequest' == $this->headers->get('X-Requested-With');
    }
    其中$this->headers->get()是获取HTTP请求头部信息

    我们自己的方法
    因为变量是可以定义的所以并不推荐使用变量字段判断是否是ajax请求
    根据ajax 会自动在请求的header里面加上一个 x-request-with所以我们可以通过获取头信息判断
    那么判断是否来自ajax请求可以通过方法
    public function isAjax(){
    if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
    return true;
    }else{
    return false;
    }
    }
  • 相关阅读:
    开启MySQL远程访问权限 允许远程连接
    [SCOI2005]互不侵犯
    树的数据生成器
    博客园优化
    图的随机数据生成器
    CF 983B 序列函数
    [HNOI2010]弹飞绵羊
    luogu P3393 逃离僵尸岛
    LCT解读(1)
    [APIO2010]特别行动队
  • 原文地址:https://www.cnblogs.com/eis13/p/5911837.html
Copyright © 2011-2022 走看看