まだjQueryの新機能はありますが、AJAXを使用してAPIから出力を取得しようとしましたが、これはテストとしてウェブサイトに送信されています。私の問題は、それが奇妙な方法で注文を並べ替えるということです。私はそれがjQuery.AJAX/JSON出力が混在する
HTML
<p id="beatmap-name1"></p>
<p id="beatmap-id1">1179268</p>
<p id="beatmap-name2"></p>
<p id="beatmap-id2">582801</p>
<p id="beatmap-name3"></p>
<p id="beatmap-id3">1179268</p>
jQueryの
$(document).ready(function(){
var counter = 0;
for (var i = 1; i <= 3; i++)
{
var $mapID = $('#beatmap-id' + i).text();
$.ajax({
type: 'GET',
url: 'https://osu.ppy.sh/api/get_beatmaps?k=...&b=' + $mapID,
success: function(data){
$.each(data, function(i, map){
counter++;
$('#beatmap-name' + counter).text(map.title);
})
}
})
}
})
私は、私は非常に非効率的な方法でこれをやっている保証は、しかし、これはただの問題である説明し、その後、以下の私のコードを投稿します「うまくいく」、「うまくいきませんか」のいずれかになります。
要約すると、jQueryコードは、マップIDをbeatmap-id1、2、および3内で取得することから始まります。そのうちの1つを受け取ると、それを変数$ mapIDに挿入し、それをAPI URLに挿入します。このリンクは、入力されたIDに基づいて特定のJSONを表示します。これで、入力されたmapIDとJSONコードが取得された後、そのJSONコードの特定の部分を取り出してループ内に出力することになっています。しかし何らかの理由で、それは奇妙な方法で出力し、決して非常に一貫した方法で出力しません。そのようなマップ名(私は出力するために呼んでいます)は、ランダムで不整合な命令になります。このような問題を解決するにはどうすればいいですか? (私はJSONが出力する順序を並べ替えると聞いたことがありますが、この問題に当てはまるのか分かりません)
はそこから自分のクライアントIDを削除します。 – AHBagheri
@AHBagheriあなたが$ mapIDを意味するなら、それはうまくいかないでしょう。そのmapIDの目的は、マップID自体に基づいて特定のJSONを呼び出すことです。 $ mapIDがなければ、プログラム全体は動かないだろう(これはapi文書のパラメータである:https://github.com/ppy/osu-api/wiki) – reyder
@AHBagheriのポイントはちょうどあなたのためだと思うコードからではなく、投稿から削除する。匿名で滞在する。 – Sylvain