[jQuery] 利用getJSON或ajax的方法,跨網域取得php資料的寫法
網頁:test_json.php =============================
(使用者端)
<script>
$(function(){
//兩種方法都是同樣效果。getJSON 是 ajax 利用 jsonp 的簡化版
//寫法一
$.ajax({
url : "http://www.wondershow.tw/test_json2.php?callback=?",
dataType : "jsonp",
data : {"A":"GOOD MORNING"},
error : function (XMLHttpRequest, textStatus, errorThrown){alert('錯誤');},
success : function (data){
//alert("成功"+data.message);
$.each(data,function(key, val){
$(".run").append(val.title+'夾帶參數是'+val.yousay+'<br>');
})
}
});
/*
//方法二
$.getJSON("http://www.wondershow.tw/test_json2.php?callback=?",
{
"A":"GOOD MORNING"
},
function(data) {
$.each(data,function(key, val){
$(".run").append(val.title+'夾帶參數是'+val.yousay+'<br>');
})
});
*/
})
</script>
<div class="run">
</div>
網頁:test_json.php =============================
(伺服器端)
$data = array(
"0"=>array(
"title" => "hello world",
"content" => "Happy Birthday",
"yousay" => $_GET['A']
),
"1"=>array(
"title" => "hello world2",
"content" => "Happy Birthday2",
"yousay" => $_GET['A']
),
);
$data = json_encode($data); //把多為陣列用JSON編碼, 到時接收端 jQ解碼
echo $_GET['callback'] . '(' . $data . ')';//輸出的格式 要這樣寫JQ才抓得到。注意要有括號
?>