Я использую свое первое приложение с использованием Parse.com для хранения базы данных, и я использую Parse JavaScript SDK для использования этой базы данных.jquery html() не задает содержимое div
Я пытаюсь заполнить список элементов из одной из моих таблиц базы данных, и эта таблица содержит поле, которое является указателем на объект другого класса/таблицы. Мне нужно получить поле из этого объекта, чтобы правильно отобразить информацию.
Однако, по-видимому, Parse требует, чтобы я запросил каждый из этих объектов отдельно от моего основного запроса в таблице. Во всяком случае, поэтому я делаю запрос и получаю обратный вызов с успехом, который использует jQuery .html()
, чтобы установить содержимое div, idd которого определяется идентификатором возвращаемого объекта.
Проблема заключается в том, что после завершения работы div отображается пустым. Хотя, как ни странно, я пытался использовать вызовы alert
, чтобы получить содержимое каждого div в обратном вызове успеха, и содержимое было не только правильным после того, как я позвонил .html()
, но также до Я назвал его. Хотя, вероятно, это относится к вызовам асинхронных функций JavaScripts.
Вот функция вопрос:
function updateBudgets() {
var Budget = Parse.Object.extend("Budget");
var query = new Parse.Query(Budget);
query.equalTo("User", Parse.User.current());
//query.include(["Budget.Category"]); //I tried this to include the category object with the query response, but it didn't seem to work
query.find({
success: function(result) {
var opt = "<h2>Budgets</h2>";
var category, id;
for(var i = 0; i < result.length; i++) {
category = result[i].get("Category");
category.fetch({
success: function(cat) {
alert($('#' + cat.id).html());
$('#' + cat.id).text(cat.get("Name"));
alert($('#' + cat.id).html());
}
});
opt += makeBudget(category.id, parseFloat(result[i].get("Amount")/100), result[i].get("Balance"), result[i].id);
}
$('#budgets').html(opt);
}
});
}
Я попробовал то, что документация, казалось бы предложить была эквивалентна операции SQL JOIN
используя .include()
функцию на мой запрос, но это не похоже на работу вообще.
Итак, что бы я хотел знать, так это то, как я могу отлаживать свой JavaScript, чтобы я мог обойти это странное поведение с помощью .html()
или как я могу правильно это сделать JOIN
стиль работы с Parse. Документация, которую я нашел, на самом деле не содержит подробностей.
Буду очень признателен за любую помощь.
Перед настройкой на html() alert (opt); какое значение вы получаете? –
сначала отлаживает ваши запросы, скорее всего, не имеет никакого отношения к методу 'html()', но больше подходит для использования ответов для создания селекторов. 'alert()' - ужасный инструмент отладки внутри циклов, используйте методы консоли и вместо этого просматривайте данные – charlietfl