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を受け取ることが出来ます。