之前介紹過 Javascript 使用 JSONP 的方法 連結在此,此篇介紹 jQuery 使用 JSONP 的方法,非常簡單喔...
jQuery AJAX cross domain
本地端JS:
原本
dataType: 'json',
改成
dataType: 'jsonp',
後端PHP:(不同網域)
原本
echo json_encode($arr);
改成
echo $_GET['callback']."(".json_encode($arr).");";
備註:
1. callback 是預設回呼函式的內建名稱,不要去改。
2. 如果要改callback這個內建函式名稱(例如要改成cb),則程式要調整成
本地端JS:
url:"https://aaa.bbb.ccc/my.php?cb=?",
dataType:'json' ,
後端PHP:(不同網域)
echo $_GET['cb']."(".json_encode($arr).");";
簡單說明一下原理,=? 是讓 jQuery 知道你現在要進行JSONP來跨網域取資料,dataType:'jsonp' 時 jQuery 會使用預設的回呼函式名稱 callback,如果要自訂名稱就要自己在網址中定義(如: cb=?)。
No comments:
Post a Comment