Я пишу отдельные результаты из массива JSON в базу данных Parse.com. Попытка процесс выглядит следующим образом:if/else statement в цикле for
Для каждого результата элемента в массиве JSON - поиск столбца «EAN» в классе «TestClass» для содержания «JSON Результат: EAN».
Тогда ...
Если JSON Результат: EAN присутствует: - console.log ("Уже в БД");
Else
Написать JSON Результат: EAN в Разбор БД: EAN & JSON Результат: Имя в Разбор БД: имя
Проблема, которую я что если я скажу 20 результатов с разными именами & EAN numbers - если предположить, что ни один из них не находится в d atabase, ниже сценарий записывает 20 результатов в базу данных, но каждая запись содержит имя & Номер EAN последнего результата JSON.
Вот упрощенная версия моего рабочего кода:
$.ajax(settings).done(function(response) {
var Products = Parse.Object.extend("TestClass");
for (i in response.Products) {
var name = response.Products[i].Name;
var EAN = response.Products[i].EANBarcode;
var query = new Parse.Query(Products);
query.equalTo("EAN", EAN);
query.find({
success: function(results) {
if (results.length > 0) {
var no = results[0].get("EAN");
var title = results[0].get("name");
console.log("ALEADY HERE: " + "[" + no + "] " + title);
} else {
console.log('No matching records for' + name);
var newProduct = new Products();
newProduct.set("name", name);
newProduct.set("EAN", EAN);
newProduct.save({
success: function() {
console.log("Saved: " + name);
},
error: function(error) {
console.log("Error: " + error.message);
}
});
}
},
});
});
Если я не запрашивать продукт & писать прямо в базу данных (то есть: не используйте query.find) & применить код следующим образом, запись базы данных репликация 20 различных результатов вы ожидаете:
$.ajax(settings).done(function(response) {
var Products = Parse.Object.extend("TestClass");
for (i in response.Products) {
var name = response.Products[i].Name;
var EAN = response.Products[i].EANBarcode;
var newProduct = new Products();
newProduct.set("name", name);
newProduct.set("EAN", EAN);
newProduct.save({
success: function() {
console.log("Saved: " + name);
},
error: function(error) {
console.log("Error: " + error.message);
}
}),
});
});
Я не могу понять, почему ниже код работает, но тогда не при входе в .find команды?
Я получаю следующее сообщение консоли: Не указано ReferenceError: _ не определено –
Собственно, только с использованием карты, ее просто отлично в чистом JS. изм. – danh
Да, раньше требовалось var. Тестирование нового кода сейчас ... –