jQueryを使用してPHPでJONPのクロスドメインのAPIの作成方法です。
PHPでJSONPのAPIを返す
PHPで普通にJSONを返すだけではJavaScriptは受け取れませんので、少し変更します。
$json = array(
"data1"=>"test1",
"data2"=>"test2"
);
header('Content-Type: application/json');
echo $_GET['callback'] . "(" . json_encode($json). ")";
と、coalbackを受け付けるようにし、カッコで囲んであげます。
JavaScriptで受け取る
次はPHPの吐き出したJOSNPをJavaScriptで受け取ります。
$.ajax({
type: "get",
url: "http://api.example.com/?callback=112233",
dataType: "jsonp",
crossDomain: true,
success:function(data){
console.log(data);
}
});
とし、JSONPを受け取ることが出来ます。
