Не выполняется код после второго запроса на сервер
Всем привет.
Делаю два запроса на сервер с помощью $.post. После выполнения первого запроса вызываю второй запрос, передавая полученную информацию из первого запроса.
Проблема заключается в том что после выполнения второго запроса не выполняется код.
Второй запрос возвращает данные, проверял.
Запросы на сервер.
$("#start_search").click(function () {
$.post("/getLinks", {
searchText: $('#searchText').val(),
picSize: $('input[name="pic"]:checked').val(),
typeFile: $('input[name="file"]:checked').val(),
clicks: $('#numberOfPics').val()
},
function (data) {
//Работает нормально
console.log('Done!')
let json = JSON.parse(JSON.stringify(data));
for (let arr of json[0].arrs){
for (let path of arr[0]){
$.post("/setImg", {
path: path
}),
function (res){
//Не работает совсем, чтобы я здесь не делал
console.log(JSON.parse(JSON.stringify(res)))
}
}
}
});
});
После выполнения первого запроса все нормально, выполняется второй запрос, но после его завершения код не работает.
Второй запрос.
app.post("/setImg", (req, res) => {
let filepath = req.body.path;
BD.start(filepath, function (err, result) {
if (err) console.log(err)
res.json([{
result: result
}])
})
})
BD.start
function SetToImgDB (filepath, callback){
connection.query(`INSERT INTO imgs (filepath) VALUES ('${filepath}')`, (err, results) => {
if (err) return callback(err);
createObject(results.insertId, function (err, result) {
if (err) return callback(err)
return callback(null, result);
});
})
}
function createObject (id, callback) {
connection.query(`insert into objects (date, img_src, origin, preview, rating) values ('${(new Date()).toISOString().slice(0,19).replace('T', ' ')}', '${id}', '0', '${id}', '0')`, (err, results) => {
if (err) return callback(err);
return callback(null, results.insertId);
});
}
function start (filepath, callback){
SetToImgDB(filepath, function (err, result) {
if (err) return callback(err)
return callback(null, result)
});
}
module.exports = {
start,
}
Ответы (1 шт):
Автор решения: Jackson
→ Ссылка
$("#start_search").click(function () {
$.post("/getLinks", {
searchText: $('#searchText').val(),
picSize: $('input[name="pic"]:checked').val(),
typeFile: $('input[name="file"]:checked').val(),
clicks: $('#numberOfPics').val()
},
function (data) {
//Работает нормально
console.log('Done!')
let json = JSON.parse(JSON.stringify(data));
for (let arr of json[0].arrs){
for (let path of arr[0]){
$.post("/setImg", {
path: path
},
function (res){
//Не работает совсем, чтобы я здесь не делал
console.log(JSON.parse(JSON.stringify(res)))
});
}
}
});
});
попробуйте так!