Ответ 1
Вы можете сделать res.redirect('http://app.example.io');
Экспресс-документы: http://expressjs.com/api.html#res.redirect
У меня есть платежная система, использующая node.js и braintree, когда платеж успешный. Я хочу отправить пользователя на задний план. Мой задний конец настроен в другом месте.
Я пробовал
res.writeHead(301,
{Location: 'http://app.example.io'}
);
res.end();
Таким образом, window.location, очевидно, недоступен. Я не могу думать о каких-либо способах перенаправления пользователя?
Вы можете сделать res.redirect('http://app.example.io');
Экспресс-документы: http://expressjs.com/api.html#res.redirect
У меня просто такая же проблема, и я получил ее, добавив "next". Я использую маршрутизаторы, поэтому, возможно, у вас такая же проблема, как у меня? Без следующего я получил ошибку об отсутствии механизма рендеринга... странный
var express = require('express');
var router = express.Router();
var debug = require('debug')('node_blog:server');
/* GET home page. */
router.get('/', function(req, res, next) {
debug("index debug");
res.render('index.html', { title: 'Express' });
});
router.post("/", function (req, res, next) {
//var pass = req.body("password");
//var loginx = req.body("login");
//res.render('index.html', { title: 'Express' });
res.redirect("/users")
next
});
module.exports = router;
Выбранный ответ не помог мне. Это перенаправляло меня на: locahost:8080/www.google.com
- это нонсенс.
301 Перемещено на постоянной основе необходимо включить в res.status(301)
, как показано ниже.
app.get("/where", (req, res) => {
res.status(301).redirect("https://www.google.com")
})
Вы находитесь в той же ситуации, так как ваш back-end находится в другом месте.