Node.jsとbraintreeを使用した支払いシステムがあり、支払いが成功したら、ユーザーをバックエンドに送りたいと思います。私のバックエンドは別の場所にセットアップされています。
私が試してみました
res.writeHead(301,
{Location: 'http://app.example.io'}
);
res.end();
したがって、window.locationは明らかに使用できません。ユーザーをリダイレクトする方法は考えられませんか?
できるよ
res.redirect('https://app.example.io');
Expressドキュメント: https://expressjs.com/en/api.html#res.redirect
選択した答えは私にはうまくいきませんでした。リダイレクト先:_locahost:8080/www.google.com
_-これはナンセンスです。
1 Moved Permanently は、以下に示すようにres.status(301)
に含める必要があります。
_app.get("/where", (req, res) => {
res.status(301).redirect("https://www.google.com")
})
_
バックエンドが他の場所にあるため、同じ状況にあります。
app.get("/where", (req, res) => {
res.status(301).redirect("https://www.google.com")
})
ステータスを含める必要があります(301)
私は同じ問題を抱えていて、「次」を追加することで機能しました。私はルーターを使用しているので、おそらくあなたは私のと同じ問題を抱えていますか?次がないと、レンダリングエンジンがないというエラーが表示されます...
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;