まるるん備忘録【Webアプリケーション開発】HTMLのPOSTメソッドで失敗したこと
HTMLのタグの1つである<form>タグ。
その<form>タグの属性の1つ、methodの値を「POST」にしてデータを送信する練習をしてみたのですが、何故だか上手くいかないんですよね……
という訳で、何が悪いのかHTMLの中身を見てみましょう。
使用したHTMLは2つです。
- signin.html (ログイン画面(もどき)を表示するHTML。こちらから、もう片方のHTMLへデータを送信します)
- signin-action.html (データを受信して何らかのアクションを返すHTML。なお機能は未実装です)
signin.html
signin-action.html
これらを実行してみると、NotFound(エラー番号404)が出てしまいます。
NotFoundとは、和訳すると見つからないという意味ですね。
……そう、HTMLが見つからないのです。
HTMLが見つからないとはどういう事かと言うと、
- 指定したパスにHTMLを置いていない
- HTMLがそもそも存在しない
- HTML名を間違えているので、見つけられない
などが大抵のNotFoundの原因として考えられます。(間違っていたらご指摘お願いします。上から2番目と3番目は似たようなものですが、あまり気にしないで下さい)
今回の場合、指定したパスにHTMLを置いていますし、HTMLはきちんと存在しています。
という事は、1番最後の「HTML名を間違えているので、見つけられない」が怪しそうですね。
という訳でHTML名を指定していた部分をピックアップして見直してみましょう。
signin.html
やっぱりHTML名が間違っていましたね(笑)
<form>タグのaction属性の値をよーく見てください。
"signin.html"書いてありますよね?signin-action.htmlにデータを送信したいので、正しくは"signin-action.html"と書かないといけません。
スペルミスを修正して、
signin.html
はい、スペルミスを修正したらきちんと動作してくれましたね。
「おいおい、POSTメソッド関係ないじゃん!」
とあちこちから声が聞こえてきそうですが、実は僕……何を血迷ったか
「NotFoundが出るのはデータ送信が上手くいかなかったからなのではないか?」
と勘違いをしていたんですよね(苦笑)
そのせいでHTMLの指定ミス(スペルミス)なんていう単純なミスだと気付かず、数時間画面とにらめっこをしていたり……
なんて事があったので、あえて上記のような見出しにしました。
気付けば単純なミスなのですが、自分自身への戒めの為にも書き残す事にしておきます。
今回のまとめ
NotFound(エラー番号404)が出たらどう対処すれば良いか?
- 指定したパスにHTMLを置いているか確認する
- HTMLがそもそも存在するか確認する
- HTML名を間違えていないか確認する