そこで、最新の X 記事を含む JSON ファイルを生成する WordPress プラグインを作成しました。このファイルは、CloudFront でキャッシュされている URL からアクセスできます。
だから、私は(ブラウザで)次のようにファイルにアクセスします:http://mm.site.com/wp-content/uploads/plug/plug.json
そして、JSON 形式の応答ファイルを取得します。
{"id":55142,"title":"Un nuevo modelo productivo para Espa\u00f1a","url": ....
これは、非同期モードでファイルにアクセスするために使用する js コードです。
var jqXHR = $.ajax({
type: 'GET',
url: 'http://mm.site.com/wp-content/uploads/plug/plug.json',
contentType: "application/json",
dataType: 'jsonp'
});
jqXHR.done(function(json) {
console.log(json);
})
.error(function(e) {
console.log(e);
})
.always(function(test) {
console.log(test);
});
ここで興味深いのは、[ネットワーク] タブ (Firebug または Chrome 開発ツール) の下にリクエストが表示され200 Status Code
、最終的には とファイルの内容が表示されること.done()
ですが、.アクセスして操作することはできません。
なぜそれが考えられるのでしょうか?
アップデート
json
の代わりにjsonp
、 のためにそれをしませんcross-origin control
。Amazon の CloudFront からファイルをサーバーすることを思い出してください。私はそれを修正しようとしましたが、運が悪かったので、別のオプションがない限り、使用するしかありませんjsonp