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 相关文章推荐
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
php 伪静态之IIS篇
Jun 02 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
php正则修正符用法实例详解
Dec 29 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 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
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
JS生成随机字符串的多种方法
2014/06/10 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python实现用于测试网站访问速率的方法
2015/05/26 Python
Python实现简单HTML表格解析的方法
2015/06/15 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Djang中静态文件配置方法
2015/07/30 Python
python通过文件头判断文件类型
2015/10/30 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
大学生社会实践方案
2014/05/11 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
财务管理制度范本
2015/08/04 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
Java实现带图形界面的聊天程序
2022/06/10 Java/Android
html原生table实现合并单元格以及合并表头的示例代码
2023/05/07 HTML / CSS