無料のdrop.ioアカウントを使用して、ドロップ内のアセットのリストを(JSON 経由で)取得しようとしています。
これに関する他の 2 つの質問 ( question1とquestion2 )は既に確認しましたが、どちらも解決策を提供していないことに注意してください。
var dropName = escape("greganddonny");
var apiKey = "some key I'm not displaying it here...";
var version = "2.0";
var assetsListBaseURL = "http://api.drop.io/drops/greganddonny/assets.json?api_key=" + apiKey + "&version=" + version;
var resultingdata = null;
function getFileList() {
console.log("BEGIN: getFileList()");
var surl = assetsListBaseURL + '&callback=?';
$.getJSON(surl, function(data, textStatus) {
console.log("textStatus:" + textStatus);
console.log("BEGIN: Callback()");
resultingdata = data;
showResult();
console.log("END: Callback()");
});
console.log("END: getFileList()");
}
function showResult()
{
alert(resultingdata);
}
$(document).ready(function() {
console.log("BEGIN: document.ready");
$.ajaxSetup({
"error": function(XMLHttpRequest,textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
alert(XMLHttpRequest.responseText);
}
})
$("#search").click(function() {getFileList();});
console.log("END: document.ready");
});
ページの検索ボタンをクリックすると、getFileList() 関数がトリガーされます。私のfirebugコンソールによると、 getFileList() 関数は問題なく呼び出されます。
drop.io のサイトで assets.json を呼び出すと、firebug コンソールの [Net] タブに 200OK ステータスが表示されるため、JSON リクエストも正常に行われます。また、[ネット] タブのリクエスト リストに次の JSON が返されます。
[{"converted":"http:\/\/drop.io\/download\/public\/x0yfnmzdtet1vtxesqcm\/12a9ebc74c9a3e4e3b2e2b4ea3546b919a2519ff\/df43d2b0-926f-012c-26c2-fbe072d62af6\/2a0a5270-9270-012c-8fc9-fbfd417303a8\/v2\/content","type":"audio","status":"converted","title":"MikeAndAndyOnPhone2009.MP3","duration":118,"artist":"Unknown","created_at":"2009/10/03 17:29:02 +0000","filesize":1895424,"description":null,"track_title":"Unknown","hidden_url":"http:\/\/drop.io\/hidden\/sazpcf7522exzb\/asset\/bWlrZWFuZGFuZHlvbnBob25lMjAwOS1tcDM=","name":"mikeandandyonphone2009-mp3"}]
JSONLintを使用して返された JSON の上記のブロックを検証したところ、返された JSON が実際に有効であることが報告されました。上記のブロックをコピーして貼り付けることで、これをテストできます。
$.ajaxSetupメソッドに「エラー」オプションを追加しましたが、コールバック関数が実行されていない理由に関するエラーメッセージさえ返すことにまだ成功していません呼ばれた。
なぜこれが考えられるのでしょうか?ここで私のスクリプトをテストできます