本文章是基於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 empty($res[0])?'index':$res[0]; } ?> |
data.php代碼如下:
| 代碼如下 |
複製代碼 |
/** * data檔案 */ $act = !empty($_GET['act']) ? $_GET['act'] : ''; if ($act == 'getdata') { $name = "我的名字叫:".$_REQUEST['name']; echo $_REQUEST["callback"]."(".json_encode($name).")"; } ?> |
成功調用後,畫面就能擷取到返回的json資料了
總結:
方法簡單的很就是利用了php的json_encode()函數把使用者提交過來的資料我進行處理之後再輸出json資料,jquery來接受這些資料就實現了我們要的跨域資料調用了。
http://www.bkjia.com/PHPjc/631624.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631624.htmlTechArticle本文章是基於jquery的ajax來實現資料跨域調用,主要是利用php即時返回json資料,這樣就方便的實現的ajax跨域資料調用了。 jquery檔案我這裡不...