Я делаю несколько вызовов 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 результатов, поэтому мы не говорим о огромных наборах данных здесь. Также возможно, что один или несколько котировок будут иметь одинаковые итоговые, и в этом случае не важно, что на первом месте. Каждая цитата также будет иметь уникальный идентификатор, policy-id, если это полезно здесь.
Я не вижу никаких других способов, кроме повторного строительства каждый раз. Вы можете разобрать таблицу для каждой новой записи и попытаться выяснить, куда она идет, но это потребует гораздо большего процесса, чем просто перестроить приложение. Вы также можете просто сделать один звонок, который берет все данные, сортирует их и строит таблицу только один раз. – Nicolas