[解決済み] POSTフォームのフィールドにアクセスする方法
2022-03-22 15:04:38
質問
以下は、私の簡単なフォームです。
<form id="loginformA" action="userlogin" method="post">
<div>
<label for="email">Email: </label>
<input type="text" id="email" name="email"></input>
</div>
<input type="submit" value="Submit"></input>
</form>
以下は私の Express.js /Node.jsのコードです。
app.post('/userlogin', function(sReq, sRes){
var email = sReq.query.email.;
}
試してみた
sReq.query.email
または
sReq.query['email']
または
sReq.params['email']
など。どれもうまくいきません。これらはすべて
undefined
.
Get呼び出しに変更すると、うまくいくのですが・・・何か思い当たることはありますか?
解決方法は?
物には
変更
再びスタート
エクスプレス4.16.0
を使用することができるようになりました。
express.json()
と
express.urlencoded()
と同じように
エクスプレス3.0
.
これは 異なる 開始 エクスプレス4.0から4.15 :
$ npm install --save body-parser
といった具合に。
var bodyParser = require('body-parser')
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
のように、残りは エクスプレス3.0 :
まず、bodyのpostデータをパースするためのミドルウェアを追加する必要があります。
以下のコードの1行または2行を追加します。
app.use(express.json()); // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies
次に、ハンドラで
req.body
オブジェクトを作成します。
// assuming POST: name=foo&color=red <-- URL encoding
//
// or POST: {"name":"foo","color":"red"} <-- JSON encoding
app.post('/test-page', function(req, res) {
var name = req.body.name,
color = req.body.color;
// ...
});
を使用することに注意してください。
express.bodyParser()
は推奨されません。
app.use(express.bodyParser());
...と同等です。
app.use(express.json());
app.use(express.urlencoded());
app.use(express.multipart());
には、セキュリティ上の懸念があります。
express.multipart()
そのため、必要な特定のエンコーディングのサポートを明示的に追加する方がよいでしょう。もしマルチパートエンコーディングが必要なら (例えばファイルのアップロードをサポートするため)
これを読む
.
関連
-
Vueのクラススタイルの使い方の詳細
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] フォーム送信のようなJavaScriptのポストリクエスト
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
Vue+ElementUIによる大規模なフォームの処理例
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
[解決済み】ReactJSでエラー発生 Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
JavaScriptのStringに関する共通メソッド
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
[解決済み] Node.jsでPOSTデータを処理する方法は?