[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才抓得到。注意要有括號

?>
 

發表迴響