読者です 読者をやめる 読者になる 読者になる

ajaxでクロスドメイン接続する方法

javascript

忘れていたのでメモ。
以下の様な感じでdataType: 'jsonp' と callback=? を指定する。
(callbackの値はjqueryが勝手に付与してくれる)

var url = 'http://crossdomain.jp?callback=?';

$.ajax({
    type:  "get",
    cache: false,
    url:   url,
    dataType : 'jsonp',
    success: function(data) {}        
});

サーバー側(php)は受け取ったcallbackを下記の様にして返す。
(こうしないとjquery側でレスポンスを受け取れない)

$output = array(
    "label1"=>"data1",
    "label2"=>"data2"
);

echo $_GET['callback'] . "(" . json_encode($output). ")";