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

2015-01-24信息快讯网

这篇文章主要介绍了ci检测是ajax还是页面post提交数据的方法,以PHP的环境变量为基础实例展示了针对CI框架配置文件的修改技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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中new static() 和 new self() 的区别介绍
CI框架中通过hook的方式实现简单的权限控制
CI框架中site_url()和base_url()的区别
php中$_POST与php://input的区别实例分析
php+ajax实现文章自动保存的方法
php+ajax实时输入自动搜索匹配的方法
php连接与操作PostgreSQL数据库的方法
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
PHP+jquery+ajax实现即时聊天功能实例
ThinkPHP中使用ajax接收json数据的方法
ThinkPHP通过AJAX返回JSON的两种实现方法
phpmyadmin提示The mbstring extension is missing的解决方法
CI框架中cookie的操作方法分析
CI框架给视图添加动态数据
smarty中post用法实例
使用PHP Socket 编程模拟Http post和get请求
ThinkPHP中I(),U(),$this->post()等函数用法
PHP基于CURL进行POST数据上传实例
php采用ajax数据提交post与post常见方法总结
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
PHP使用ob_start生成html页面的方法
CI框架入门示例之数据库取数据完整实现方法
CI框架验证码CAPTCHA辅助函数用法实例
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
php以post形式发送xml的方法
CI框架装载器Loader.php源码分析
php+ajax实现无刷新分页的方法
CI框架安全类Security.php源码分析
CI框架Session.php源码分析
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
php中$_GET与$_POST过滤sql注入的方法
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
php中运用http调用的GET和POST方法示例
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
©2014-2024 dbsqp.com