本文实例讲述了ci检测是ajax还是页面post提交数据的方法。分享给大家供大家参考。具体实现方法如下:

一、问题:

因为项目需要我们希望知道提交数据来源是由ajax提交过来的数据还是由页面的post提交过来的数据从而进行不同层面上的处理。

二、解决方法:

在php中解决方法如下:
如果是ajax请求,以下表达式的值为真

代码如下:
$_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest"
就是一个PHP的环境变量。

ci中处理办法:

代码如下:
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
define("IS_POST", strtolower($_SERVER['REQUEST_METHOD']) == 'post');

记得在用THINKPHP的时候有内置两个常量 IS_AJAX 与 IS_POST,想在ci中使用查了半天好像没有找到,那就自动动手丰衣足食
在项目的config/constants.php 配置文件加上上边两行代码,这下你就可以在所有的方法中直接调用
例如:

代码如下:
if(IS_POST){ ... } if(IS_AJAX){ ... }
转载地址:http://www.bitscn.com/pdb/php/201411/408175.html

php 二维数组根据某个键值倒叙、升序排序

<?php $array = [ [ 'title' => '标题5', 'views' => 500 ], [ 'title&...

阅读全文

一个好用的php id加密解密类,适用于隐藏用户真实id。hashids

效果 <?php use Hashids\Hashids; $hashids = new Hashids(); // no padding $hashids->encode(1); #结果 jR #指定返回10个字符长度的加密串 $hashids...

阅读全文

yum 安装redis5

更新yum源 # EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质...

阅读全文

欢迎留言