Express を使用して静的 HTML ファイルをサーバーにアップロードしていますprofile.html
。ファイルには、単純なフォームがあります。以前はファイルのアップロードが含まれていましたが、簡単にするために単一のテキスト入力に減らしました。外観は次のとおりです。
<form action="profile.html" method="post" id="foo" enctype="multipart/form-data">
<input type="text" name="foo" value="bar">
<input type="submit">
</form>
送信ボタンをクリックすると、Chrome はフォームを送信する兆候を示しますが、実際には送信されません。profile.html
フォームの送信時にNode.js コードが実行されません。Chrome の開発者ツールのネットワーク タブを見ると、リクエストがまだ保留中であることがわかります。これは、PHP と Apache を使用すると完全に機能しましたが、Node.js と Express を使用すると失敗します。
数え切れないほどの例を見てきましたが、これはコードの問題ではなく、構成の問題に違いないと感じています。フォームがサービスに送信されない原因は何ですか?
編集:これが私のルートの大まかな内容です:
//modules, initialization, etc.
var app = express();
app.use(function(req, res, next) {
var data = "";
req.setEncoding("utf8");
req.on("data", function(chunk) {
data += chunk;
});
req.on("end", function() {
req.rawBody = data;
next();
});
});
app.use(express.bodyParser());
//Server up our templated static HTML
app.use("/search.html", search_html.handler);
app.use("/app.html", app_html.handler);
app.use("/login.html", login_html.handler);
app.use("/graph", graph_page.handler);
app.use("/dbrequest", dbrequest_page.handler);
app.use("/profile.html", profile_html.handler);
app.use("/", function(request, response) {
response.redirect("login.html");
});
app.listen(3000);