2

jQueryを使用しているgoogleajaxsearchで画像検索を行おうとしています。だから私のコードの下

$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello', function(data) {
    console.log(data);
});

コンソールはNULLを出力し、私のxhr情報は

request URL:http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello
Request Headers
Accept:application/json, text/javascript, */*
Cache-Control:max-age=0
Origin:http://example.local
Referer:http://example.local/thread/create
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4

何がワングなのかわかりません。私を助けてplz

4

1 に答える 1

8

JSONPをトリガーするには、URLを少し調整する必要があります&callback=?。最後に、次のように追加します。

$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello&callback=?', function(data) {
  console.log(data);
});

あなたはそれがここで働いているのを見ることができます、コンソールを見てください。

jQueryがcallback=?URLにaを見つけると、それを生成する関数名(function(data)コールバック)に置き換えます。これは、JSONPリクエストが戻ってきたときに実行されるものです。同じ情報については、$.getJSON()ドキュメントを参照してください。

これがないと、XmlHttpRequestを実行しようとし、別のドメインにあるため、同一生成元ポリシーによってブロックされます。

于 2010-09-01T01:40:30.077 に答える