[解決済み】POSTできない/expressを使用するとエラーが発生する
2022-01-27 10:12:10
質問内容
expressを使って簡単なフォームハンドラを作ろうとしています。以下のようなコードでフォームを作成してみました。
<form class="form" action="/" method="post" name="regForm">
<div class="form-group">
<input type="text" name="username" class="form-control" id="username" placeholder="Username">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
そして、これが私のapp.jsのコードです。
const port = 3000;
var express = require('express'),
app = express(),
server = require('http').createServer(app);
var bodyParser = require('body-parser');
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({
extended: true;
}));
app.use(bodyParser.json());
app.post('/',function(req,res){
var username = req.body.username;
var html = 'Hello:' + username;
res.send(html);
console.log(html);
});
server.listen(port);
フォームを送信した後に "CANNOT POST /" というエラーがずっと表示されます。モジュールのようなものを見逃しているのでしょうか?
解決方法を教えてください。
この方法で試してみてください
const port = 3000;
var express = require('express'),
app = express();
var bodyParser = require('body-parser');
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json());
app.get('/', function(req, res){
res.render('form');// if jade
// You should use one of line depending on type of frontend you are with
res.sendFile(__dirname + '/form.html'); //if html file is root directory
res.sendFile("index.html"); //if html file is within public directory
});
app.post('/',function(req,res){
var username = req.body.username;
var htmlData = 'Hello:' + username;
res.send(htmlData);
console.log(htmlData);
});
app.listen(port);
今後のRef.のために留意しておきたいこと :
- url encodeをtrueに拡張していた
- フォームの取得要求がない場合
- バッドプラクティスの一つであるHTMLネームドバリューを使用しています。
ありがとうございます。
関連
-
[解決済み】MongoClient v3.0使用時、db.collectionは関数ではない
-
[解決済み】MongoDBのデータ/DBが見つからない
-
[解決済み】POSTできない/expressを使用するとエラーが発生する
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] nodeファイルの先頭にある"/usr/bin/env node "は、具体的には何をするのですか?
-
[解決済み] nvm は npm config の "prefix" オプションと互換性がありません。
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] エラーが発生しました。クライアントに送信された後にヘッダーを設定できない
-
[解決済み] POSTフォームのフィールドにアクセスする方法
-
[解決済み] Node.jsで "Cannot find module "エラーを解決するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] (node:63208) DeprecationWarning: collection.ensureIndex は非推奨です。代わりにcreateIndexesを使用してください [重複]。
-
[解決済み] 非推奨パッケージに関するNPM警告メッセージ
-
[解決済み】「npm install」と「npm rebuild」の違いとは?
-
webpack ENOENTソリューションの起動
-
[解決済み] create-react-app、インストールエラー("コマンドが見つからない")。
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] Npmエラー - Windows NT - 解決方法
-
[解決済み] バルク更新を行う。
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] "致命的なエラーです。grunt "コマンドを実行すると、"Unable to find local grunt. "と表示されます。