Новое в javascript и jQuery, и у меня есть вопрос.jQuery append with api call
Я пытаюсь создать простую форму заказа с различными категориями и статьями. Категории и статьи вызывается из веб-сервиса RESTful.
Это то, что я получил до сих пор. Первый вызов апи получить все в категории:
function createform() {
var dateval = '';
dateval += $("#dedate").val();
$.api.getArtCategories(dateval, getToken('user'), getToken('token'), function(response) {
buildOrderform(response);
});
$('#orderform').show();
$("#ordersubmit").removeClass("disabled");
}
Функция buildOrderform создает HTML:
function buildOrderform(json) {
//create categories
var html = '';
json.forEach(function (entry) {
var art_category = entry.art_category;
html += '<div class="row form-group categorycontainer">';
html += '<div class="col-md-8 categoryheader">';
html += '<h3>' + art_category + '</h3>';
html += '</div>';
html += '</div>';
});
$("#orderlist").html(html);
//append articles to the categories
$(".categorycontainer").append("API-Call");
}
Здесь я застрял. Последняя инструкция проходит через все контейнеры, добавляет новый html. Если я делаю это с <p>test</p>
, он работает так, как ожидалось.
Но я хочу получить HTML-код с другим вызовом api.
Второй апи вызов будет:
$.api.getArtItems(art_category, getToken('user'), getToken('token'), function(response) {
builditemlist(response);
});
И buildItemlist будет что-то вроде этого:
function builditemlist(json) {
var item = '';
json.forEach(function (entry2) {
var art_description = entry2.art_description;
var art_id = entry2.art_id;
var art_name = entry2.art_name;
var art_price = entry2.art_price;
item += '<div class="row form-group">';
item += '<div class="col-md-8"><b>' + art_name + '</b><br>' + art_description + '</div>';
item += '<div class="col-md-2">' + art_price + '</div>';
item += '<div class="col-md-2"><input class="form-control article" id="' + art_id + '" type="text"/></div>';
item += '</div>';
});
return item;
//$("#orderlist").html(item);
}
Но как я могу получить вызов апи и создание HTML в Дописывать? И фактический art_category
действительно должен быть передан на вызов api?
'$ ("# Orderlist") HTML (builditemlist (ответ););' –
API-вызов является асинхронным, поэтому он не сможет вернуться. метод добавления. Лучше добавить приложение в 'builditemlist'. – gurvinder372