私は、複数のAjaxコールを作成して、結果を集約およびソートする目的で、さまざまなプロバイダから保険クォートを取得しています。私の簡略化されたコードは次のようになります。jQueryを使用してオンザフライでAjaxデータを並べ替えて表示する
for (var i = 0; i < providerList.length; i++) {
\t $.ajax({
\t url : "quote-request/"+ providerList[i] +".php",
\t type: "GET",
\t data : formData,
\t dataType:"json",
\t success: function(results) {
\t $.each(results, function(index, value) { \t \t \t \t \t
\t $("#results").append("<div>" + value["provider-name"] + value["policy-name"] + value["grand-total"] + "</div>");
\t })
\t }
});
}
生成する:私は結果をしたいと思いますしかし
<div id="results">
<div>ProviderA Policy1 12.34</div>
<div>ProviderA Policy2 9.50</div>
<div>ProviderB Policy1 22.76</div>
</div>
は、各よう壮大-総の昇順で注文しますAjax呼び出しが完了し、新しい結果がそれぞれ正しい場所に自動的に挿入されるようにします。
<div id="results">
<div>ProviderA Policy2 9.50</div>
<div>ProviderA Policy1 12.34</div>
<div>ProviderB Policy1 22.76</div>
</div>
私が考えることができる唯一の方法は、すべてのAjax呼び出し後に各結果を配列に保存し、配列をソートして結果を出力することですが、毎回同じ配列を構築して出力する新しい見積もりが検索されます。これを行うより良い方法はありますか?
最終的なスクリプトでは約10回のAjax呼び出しが行われ、約40件の結果がロードされるため、ここでは膨大なデータセットについては話しません。また、1つまたは複数の見積もりに同じの総計がある可能性があります。その場合、最初に来るものは重要ではありません。各見積もりには、というポリシーID()もあります。
私は毎回再建する以外の方法はありません。新しいエントリごとにテーブルを解析し、どこに行くのか把握しようとすると、単純にアプリケーションを再構築するよりも多くの処理が必要になります。あなたはまた、すべてのデータを取り、それをソートし、あなたのテーブルを1回だけ構築するコールを作ることもできます。 – Nicolas