私はNodeとExpressを初めて使用しています。 私は静的なhtmlページを持っています。そこでは、ユーザーが自分のユーザー名をajax経由で自分のサーバーに投稿します。次に、彼を別のhtmlファイルにリダイレクトしたいと思います。Expressでの静的ファイルによる単純なリダイレクト
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(express.static(__dirname + "/public/arena.html"));
app.get('/',function(req,res){
res.sendFile(__dirname + "/public/index.html");
});
app.post('/login',function(req,res){
var username=req.body.username;
console.log("User name = "+username);
res.redirect(__dirname + "/public/arena.html");
});
var server = app.listen(3000);
私はユーザー名を取得してブラウザにも応答しますが、サーバーは私をarena.htmlにリダイレクトしません。私もエラーはありません。
Nodeでこれらの「簡単な」ものがなぜ難しいのですか?
ご協力いただきありがとうございます。
'リターンres.end(「乗って歓迎」);あなたは、関数から戻っているようにあなたが実行する前に、'それが見えますリダイレクトコマンド(???)。あなたがウェブサイト上のパスの代わりにファイルシステム上のパスにユーザをリダイレクトしようとしているので、コードが実行されると404が起きると思われます。 – RyanWilcox
res.redirect()の前にリターン関数を書きません。あなたの関数が既に返ってきてからの目的です。 – syarul
あなたの質問に答えましたか? – jfriend00