ci检测是ajax还是页面post提交数据的方法


Posted in PHP onNovember 10, 2014

本文实例讲述了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){

...

}

希望本文所述对大家的CI框架程序设计有所帮助。

PHP 相关文章推荐
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
php网站地图生成类示例
Jan 13 PHP
php中socket的用法详解
Oct 24 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 PHP
php根据数据id自动生成编号的实现方法
Oct 16 PHP
PHP中call_user_func_array回调函数的用法示例
Nov 26 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
php采用ajax数据提交post与post常见方法总结
Nov 10 #PHP
php学习笔记之面向对象
Nov 08 #PHP
php学习笔记之基础知识
Nov 08 #PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 #PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 #PHP
php中file_get_contents与curl性能比较分析
Nov 08 #PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 #PHP
You might like
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
javascript 模拟点击广告
2010/01/02 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
Python Trie树实现字典排序
2014/03/28 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
CSS3实现时间轴特效
2020/11/02 HTML / CSS
幼儿园实习自我鉴定
2013/12/15 职场文书
元旦趣味活动方案
2014/08/22 职场文书
简单聊聊Golang中defer预计算参数
2022/03/25 Golang
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL