質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

2回答

2397閲覧

Express 4.xのPostが反応しないです。 助けてください。

退会済みユーザー

退会済みユーザー

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2017/12/13 16:04

Javascript

1//app.js 2var express = require('express'), 3 bodyParser = require('body-parser'), 4 methodOverride = require('method-override'), 5 app = express(), 6 post = require('./routes/post'), 7 http = require('http').createServer(app); 8var io = require('socket.io').listen(http); 9var MongoClient = require('mongodb').MongoClient; 10 11 12app.set('views', __dirname + '/views'); 13app.set('view engine', 'ejs'); 14 15// middleware 16app.use(bodyParser()); 17app.use(methodOverride('_method')); 18app.use(express.static(__dirname + '/public')); 19 20app.post('/here', function(req, res) { 21 console.log(req.body.post+"がPostされました"); 22}); 23 24http.listen(8000); 25console.log("server starting...");

html

1<!--index.ejs--> 2<html> 3 <meta charset="utf-8"> 4 <head> 5 <title>練習</title> 6 </head> 7 <body> 8 <form method="post" action="/here?_method=POST"> 9 <input type="text" name="post" value="" size="50px"> 10 <input type="submit" name="" value="POSTします"> 11 </form> 12 </body> 13</html>

見ていただきありがとうございます。
タイトルにもありますが、POSTが反応せず、公式HPにも目を通し、記載通りに進めましたが全く反応がなく困り果てております。
練習のため、getやpostを先に練習しようと思って取り組んでいるのですが、getは問題なく行えました。
何かヒントでもいいのでいただけませんでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

karamarimo

2017/12/14 05:13

ブラウザ側ではエラーなど出ていないですか?
karamarimo

2017/12/14 05:34

実行してみたところ、サーバーではログが表示されましたが、response を返していないのでブラウザ側では読み込み中のまま止まりました。反応がないというのはブラウザ側のことしょうか?
退会済みユーザー

退会済みユーザー

2017/12/14 06:46

karamarimo様 ブラウザ側でエラーは出ておりません。サーバー側の反応がありません
guest

回答2

0

実行した場合、ブラウザ側では何かエラーは出ていますか?またはサーバー側でも何かログは出ていないでしょうか?

投稿2017/12/14 13:35

TomokazuKozuma

総合スコア131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/14 23:33

KOZUMA様 いつもありがとうございます。 質問させて頂いた文で試みていますが、ブラウザ、サーバー共にエラーはありませんでした。 ログにも普段通りで変化は見られません。 ほかのミドルウェアと干渉してるとうまく動かなかったりするのでしょうか?
TomokazuKozuma

2017/12/15 00:42

干渉はあまり考えられないとは思うのですが。。。 GitHubにソースコードをあげてたりするでしょうか?もしあげているのなら自分の方でも同じソースコードで試してみます!
退会済みユーザー

退会済みユーザー

2017/12/15 04:50

Kozuma様 dotinstallのExpress入門を元に(動画ではExpress3.xなので4.x用に自分で調べて書き換えています)勉強しております。 先ほど、一度Projectファイルを全削除し、作り直したところ、無事POSTが動きました。 作り直したファイルと、上記のコードは全く同じなので、根本的な理解には至りませんでしたが、 お忙しいところ、ご回答いただき本当にありがとうございました。
TomokazuKozuma

2017/12/15 05:04

解決したみたいで良かったです!また遠慮なく聞いてください!!
guest

0

actionを/hereにしてみてはどうですか?

投稿2017/12/13 22:49

momf

総合スコア416

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/14 03:41

御意見ありがとうございます。 変更して試みて見ましたがやはりうまくいきませんでした。
momf

2017/12/14 04:17

methodのオーバーライドは何かで必要ですか? オーバーライドを消して、 formタグのmethodをPOST、actionを./hereにしてみてください
退会済みユーザー

退会済みユーザー

2017/12/14 04:56

momf様 オーバーライドをコメントにし、 <form method="post" action="./here">にしましたが、やはりコンソールに反応がありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問