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

本文实例讲述了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框架程序设计有所帮助。

(0)

相关推荐

  • php中用socket模拟http中post或者get提交数据的示例代码

    废话不多说.直接上代码:sock_post.php: 复制代码 代码如下: <?phpfunction sock_post($url, $data='') {  $url = parse_url($url);  $url['scheme'] || $url['scheme'] = 'http';  $url['host'] || $url['host'] = $_SERVER['HTTP_HOST'];  $url['path'][0] != '/' && $url['path']

  • ASP模拟POST请求异步提交数据的方法

    有时需要获取远程网站的某些信息,而服务器又限制了GET方式,只能通过POST数据提交,这个时候我们可以通过asp来实现模拟提交post数据,网上有挺多这样的例子的.下面的是我自己写的比较简洁易懂的函数. 首先,需要一个编码设置的函数,因为asp一般为gbk的,而标准的网站现在大都使用utf-8的.所以需要转换. 复制代码 代码如下: function BytesToBstr(body,Cset) dim objstream set objstream = Server.CreateObject(

  • python通过post提交数据的方法

    本文实例讲述了python通过post提交数据的方法.分享给大家供大家参考.具体实现方法如下: # -*- coding: cp936 -*- import urllib2 import urllib def postHttp(name=None,tel=None,address=None, price=None,num=None,paytype=None, posttype=None,other=None): url="http://www.xxx.com/dog.php" #定义要

  • 免安装的Tomcat服务器的基本配置和安装

    假期的时候偶尔安装了一下,安装版和免安装版的都试过了,觉得免安装版的比较好一点,涉及到的配置比较多,文件也多,根据我现在掌握的知识,简单的做了一下免安装版的tomcat的基本配置和安装方法. 一.配置JDK 要想在自己的计算机上安装Tomcat,需要JDK的支持,因为Tomcat是用java语言编写的一个很轻量级的Web服务器. Java SE的最新版下载地址:http://www.jb51.net/softs/75615.html 1.首先将自己下载的jdk(这里使用的是1.7)下载后,解压或

  • php curl模拟post提交数据示例

    复制代码 代码如下: <?header("Content-type: text/html; charset=utf8");/* * 提交请求* @param $header array 需要配置的域名等header设置 array("Host: devzc.com");* @param $data string 需要提交的数据 'user=xxx&qq=xxx&id=xxx&post=xxx'....* @param $url stri

  • Python模仿POST提交HTTP数据及使用Cookie值的方法

    本文实例讲述了在Python中模仿POST HTTP数据及带Cookie提交数据的实现方法,分享给大家供大家参考.具体实现方法如下: 方法一 如果不使用Cookie, 发送HTTP POST非常简单: 复制代码 代码如下: import urllib2, urllib data = {'name' : 'www', 'password' : '123456'} f = urllib2.urlopen(         url     = 'http://www.jb51.net/',      

  • 使用Post方式提交数据到Tomcat服务器的方法

    我在上一篇文章中介绍了 使用Get方式提交数据到Tomcat服务器,这篇将介绍使用Post方式提交数据到服务器,由于Post的方式和Get方式创建Web工程是一模一样的,只用几个地方的代码不同所以,我就直接介绍不同的地方,第一个不同点是,提交方式不同,所以修改LoginServlet.Java中的代码 package com.fyt.org; import java.io.IOException; import java.io.OutputStream; import java.io.Print

  • php采用ajax数据提交post与post常见方法总结

    本文实例讲述了php采用ajax数据提交post与post常见方法.分享给大家供大家参考.具体方法如下: 在很多情况下我们使用ajax是不会有什么问题的,但有时会碰到ajax数据提交post不完整的问题,这里举例给大家分析一下. 下边是一个标准的ajax请求代码,正常情况下是不会有任何问题的,但是,在特定情况下就会出现问题,比如,username=fdas&321的时候,或者参数值中出现了&符号,经过了N多遍测试,发现数据都传输了,但是打印出来数据是半截,最后仔细观察头信息发现传输的头不对

  • jquery ajax post提交数据乱码

    在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码,自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件chrome和ie都没有指定,所以出现乱码问题.解决方法: 复制代码 代码如下: $.ajaxSetup({  contentType: "application/x-www-form-urlencoded; charset=utf

  • 使用Get方式提交数据到Tomcat服务器的方法

    这篇文章将介绍向服务器发送数据,并且服务器将数据的处理结果返回给客户端,这次先介绍使用Get方式向服务器发送数据,下篇将介绍使用Post方式向服务器发送数据,需要的朋友参考下吧! 实现方式分为以下几步: 第一步:使用MyEclipse创建一个Web project,项目命名为WebProject->在src文件夹中新建一个包名为com.fyt.org的包 ->在包中新建一个Servlet,Servlet命名为LoginServlet,并在LoginServlet.Java中添加下面的代码 pa

  • Tomcat服务器 安全设置第1/3页

    另外,由于其功能比较单纯需要我们进一步地进行设置.本机将从安全和功能两方面谈谈基于Tomcat的Web服务器的部署,希望对大家有所帮助. 环境描述 OS:Windows Server 2003 IP:192.168.1.12 Tomcat:6.0.18 1.安全测试 (1).登录后台 在Windows Server 2003上部署Tomcat,一切保持默认.然后登录Tomcat后台,其默认的后台地址为: http://192.168.1.12:8080/manager/html.在浏览器中输入该

  • java中form以post、get方式提交数据中文乱码问题总结

      一:form在前台以post方式提交数据: 浏览器将数据(假设为"中国")发送给服务器的时候,将数据变成0101的二进制数据(假设为98 99)时必然要查码表,浏览器以哪个码表打开网页,浏览器就以哪个码表提交数据.数据到达服务器后,数据(98 99)要封装到request中,在servlet中调用Request的getParameter方法返回的是字符串("中国"),方法内部拿到数字后要转成字符,一定要查码表,由于request的设计者是外国人,所以默认查的是他

  • 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法

    写此文的背景:在学习使用angular的$http.post()提交数据时,后台接收不到参数值,于是查阅了相关资料,寻找解决办法. 写此文的目的:通过上面提到的文章中的解决之道,结合自己的经验,总结了如下发现. 前端:html,jquery,angular 后端:java,springmvc 一.平常使用的post提交和接收方式 前端使用jquery提交数据. $.ajax({ url:'/carlt/loginForm', method: 'POST', data:{"name":&

随机推荐