私はこれで何時間も座っていました、そして私は理由を理解することができません。
q
仕事中。URLは私に適切なJSON応答を与えます。これはオブジェクトや配列として表示され、Firebugの[ネット]タブの[JSON]タブには何も表示されません。すべて問題ありません。私はまた、私が仕事を知っている他のURLで試しました。同じことが起こります。私は小さなアプリの他の場所に別の関数を持っています。wihchは正常に動作し、ほとんど同じもので、別のAPIであり、他の場所から呼び出されます。
data
正常に動作し、getJSON関数に入ると変数が入力されます。ここでdata
は、何も満たされることはありません。Firebugのすべての行にブレークポイントがありましたが、結果はありません。何も起こりません。getJSON行に到達し、関数の後のデバッガーステートメントにスキップします。
var usedTagCount = 10; var searchHits = 20; var apiKey = "a68277b574f4529ace610c2c8386b0ba"; var searchAPI = "http://www.flickr.com/services/rest/?method=flickr.photos.search&" + "format=json&api_key=" + apiKey + "&sort=interestingness-desc&per_page=" + searchHits + "&jsoncallback=?&nojsoncallback=1&tags="; var tagString = ""; var flickrImageData = new Array(); function search(query) { for(var i = 0; i < usedTagCount; i++) { tagString += query[i].key + ","; } var q = searchAPI + tagString; $.getJSON(q, function(data) { debugger; /* It never gets here! */ $.each(data.photos.photo, function(i, item) { debugger; flickrImageData.push(item); }); }); debugger; return flickrImageData; }
リクエストURLの例(q
):
http://www.flickr.com/services/rest/?method=flickr.photos.search&format=json&api_key=a68277b574f4529ace610c2c8386b0ba&sort=interestingness-desc&per_page=20&jsoncallback=?&tags=london,senior,iphone,royal,year,security,project,records,online,after,
JSONView(firefoxプラグイン)はそれを適切にフォーマットできないので、返されるのは実際にはJSONではないのではないかと思います-mime-typeはtext/htmlです。ただし、FirebugはそれをJSONとして解釈します(前述のとおり)。そして、すべてのタグワードはアプリの別の部分から来ています。