2014-12-14 3 views
0

Итак, я пытаюсь поймать ошибку MySQL, поэтому, когда это произойдет, я просто хочу перенаправить пользователя на другую страницу своего приложения и отобразить уведомление или что-то в этом роде, но не имеет значения, какой URL я поместил в метод перенаправления, который он отправляет мне на индексную страницу «/». Это мой код, так как вы можете видеть, что я даже поместил URL-адрес Google, но он по-прежнему отправляет меня на родину «/».Экспресс и узел js - Не удается перенаправить при ошибке

var query = "DELETE FROM buildings WHERE id = ?"; 
connection.query(query, id, function(err) { 
    if (err) { 
     console.log("Foreign key restriction"); 
     return res.redirect("http://google.com"); 
    } 
    if (fs.existsSync('./public/' + img)) { 
     fs.unlinkSync('./public/' + img); 
    } 
    res.redirect("/"); 
}); 

также хорошо, чтобы сказать, что «ограничение внешнего ключа» печатается на консоли, но я не перенаправляются. Любые мысли? Спасибо!

+0

Вы пробовали выполнения запроса, который возвращает и ошибок? –

+0

Кроме того, если вы можете изменить второй переадресацию на другой URL, обратитесь к вышеупомянутым URL. И посмотрим, что произойдет. –

+0

Я уверен, что этот запрос возвращает ошибку, потому что я хочу, чтобы она вернула его, если do в console.log() внутри if (err) отображается сообщение, но я не перенаправлен. – erosespinola

ответ

1

err никогда не устанавливается так, чтобы вы всегда отступали, и используется последний переадресация на /.

Вам не хватает [] в запросе. I.e., это должно быть

connection.query(query, [id], function(err) { 
+0

Ac я сделал console.log внутри if (err), и он туда попал, я попробовал connection.query (query, [id], function (err), но он все еще не работает:/ – erosespinola

+0

if (err) { console.log ("лол"); // это действительно напечатано в консоли return res.redirect ("http://google.com"); } – erosespinola

0

Убедитесь, что вы возвращаетесь к правильной функции. Как и в попытке вернуть запрос сначала так:

return connection.query(query, id, function(err) {

+0

сказал другими словами ... возвращение должно быть вспучено до пути/функции, используя «res» в качестве аргумента. Я надеюсь, что это сработает для вас, приятель! – Mass010

Смежные вопросы