本文實例講述了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框架程序設計有所幫助。