0

ここで何が欠けているのかわかりません。このコードを見ると、flickr に対して jsonp 呼び出しを行って、成功した応答を得ていることがわかります。ただし、jQuery は常に「失敗」メソッドを呼び出し、成功メソッドは呼び出しません。

なんで?

{{編集済み}}

$.ajax({
      url: 'http://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=fun&tagmode=any',
      dataType: 'jsonp'
  })
  .done(function(data, status) {
    console.log( 'data count:', data.query.results.json.json.length );
    $('#result-count').text( JSON.stringify(data.query.results.json.json) );
  })
  .fail(function(xhr, err) {
    console.log( 'Sample of error data:', err );
    console.log("readyState: "+xhr.readyState+"\nstatus: "+xhr.status+"\nresponseText: "+xhr.responseText); });
  });
4

1 に答える 1

2

間違った jsonp コールバックを使用しているため、失敗しています。

...
type: 'GET',
jsonpCallback: 'jsonFlickrFeed'
...

また、jQuery の最近のバージョンでは、jsonp リクエストはfailエラー時にコールバックをトリガーせず、jsonp リクエストでasync:falseは無視され、crossDomain必要ありません (jquery が設定します)。

于 2013-02-11T18:27:30.310 に答える