本文章是基于jquery的ajax來實現數據跨域調用,主要是利用php實時返回json數據,這樣就方便的實現的ajax跨域數據調用了。
jquery文件我這里不提供下載了,大家可以直接到google去下載哦,可以在頁面定義一個調用方法,代碼如下:
- function getData(){
- $.getJSON("http://123.123.123.123/?callback=?",
- {
- "m":"data",// 指定php的文件名字
- "act":"getdata",// 指定php文件中的方法
- "name":"問題兒童"// 傳入的參數
- },
- function(data) {
- // 獲得返回值
- }
- });
- }
對應鏈接下(123.123.123.123)的PHP文件,一般默認先調用index.php文件,通過index.php文件內的方法處理后,轉到對應的php文件,并且找到對應的方法,執行之。
index.php代碼如下:
- /**
- * 入口文件
- */
- $string = $_SERVER["REQUEST_URI"];// 獲取訪問的url
- $m = get_m($string);
- $file_path = "app/".$m.".php";
- define('IS_INDEX',true);// 阻止直接訪問app目錄
- require ($file_path);
- /**
- *
- * 獲取訪問php文件
- * @param string $url
- */
- function get_m($url){
- $strings = explode('m=', $url);
- $res = explode("&", $strings[1]);
- return emptyempty($res[0])?'index':$res[0];
- }
data.php代碼如下:
- /**
- * data文件
- */
- $act = !emptyempty($_GET['act']) ? $_GET['act'] : '';
- if ($act == 'getdata')
- {
- $name = "我的名字叫:".$_REQUEST['name'];
- echo $_REQUEST["callback"]."(".json_encode($name).")";
- }
成功調用后,畫面就能獲取到返回的json數據了.
總結:方法簡單的很就是利用了php的json_encode()函數把用戶提交過來的數據我進行處理之后再輸出json數據,jquery來接受這些數據就實現了我們要的跨域數據調用了。
新聞熱點
疑難解答