AJAX/JSONP に関するいくつかの投稿を読みましたが、Yahoo! から JSONP データを正常に取得できます。localhost で提供されるページで AJAX 呼び出しを介して API を呼び出しますが、localhost の Cocoon からデータを取得できません。
localhost:80 で Apache から Web ページを提供しています。このページには、localhost:8080/cocoon/test/ から JSONP を取得するための AJAX コードが含まれています。
localhost:8080/cocoon/test/ を直接ロードすると、期待されるデータが得られます。
{"titles":[
{"title":"Title 1"},
{"title":"Title 2"},
... ,
{"title":"Title 999"}
]}
しかし、次を実行すると:
function getTitles() {
var url = "http://localhost:8080/cocoon/test/";
$.getJSON(url, function(response) {
console.log(JSON.stringify(response));
});
}
私は得る:
「クロスオリジン リクエストがブロックされました: 同一オリジン ポリシーにより、localhost:8080/cocoon/test/ でのリモート リソースの読み取りが許可されません。これは、リソースを同じドメインに移動するか、CORS を有効にすることで修正できます。」
上記の AJAX コードが Yahoo! URL(以下)、しかしlocalhostの繭ではありませんか?
これについての考え/ガイダンスをありがとう。