Ajax関連メモ。 jsonpを使った場合。
var w_jsonfile = 'http://xxxxxx.jp/hoge.php'; $.ajax({ type:"POST", url:jsonfile, dataType: "jsonp", jsonpCallback: 'callback', success:function(data){ console.log(data); }, error :function(XMLHttpRequest,textStatus){ console.log(textStatus); } });
ポイントは、jsonpの場合は、jsonpCallbackパラメータが必要。 jQuery 1.5以降はこれで戻り値を指定する様になったようだ。 詳しくは、http://api.jquery.com/jQuery.ajax/ で、hoge.phpではxmlからjsonへ変換して、上に倣ってcallback()の形で返す。
$xml = "fuga.xml"; $result = simplexml_load_file($xml); $encode = json_encode($result); header("Content-Type: text/javascript; charset=utf-8"); echo sprintf("callback(%s)",$encode);
これでOK。