1
HTMLフォームのサーバーに投稿要求を出しています。フォームの送信ボタンを押すと、404ページが表示されないというエラーが表示されます。ただし、アドレスバーに直接入力してURLにアクセスすると、サーバーから取得する必要があるエラーが表示されます(無効なリクエスト400件)。ここでページが存在するときに404エラーが発生する
は(私は葉を使用しています注意してください)私のHTMLです:
#extend("base")
#export("head") {
<link rel="stylesheet" href="/styles/normalize.css">
<link rel="stylesheet" href="/styles/skeleton.css">
}
#export("body") {
<div class="container">
<form action="/admin/new-post" method="POST">
<div class="row" style="padding: 25px 0 0 0;">
<div class="six columns form-group">
<label for="email">Usernam</label>
<input class="u-full-width" type="text" placeholder="Username" id="email" name="email">
</div>
<div class="six columns form-group">
<label for="password">Password</label>
<input class="u-full-width" type="password" placeholder="Password" id="password" anem="password">
</div>
</div>
<input type="hidden" name="_csrf" value="{{csrfToken}}">
<button type="submit" class="button-primary">Login</button>
</form>
</div>
}
そして、私のサーバコード(スウィフト):
import Vapor
import HTTP
final class AdminController {
func addRoutes(to drop: Droplet) {
let admin = drop.grouped("admin")
drop.get("login", handler: login)
admin.get("new-post", handler: newPost)
}
func login(_ request: Request)throws -> ResponseRepresentable {
return try drop.view.make("admin-login", [])
}
func newPost(_ request: Request)throws -> ResponseRepresentable {
guard let cred = request.auth.header?.basic else {
throw Abort.badRequest
}
do {
try request.auth.login(cred)
return try drop.view.make("new-post", [])
} catch {
return Response(redirect: "/login?login=failed")
}
}
}
なぜ私が404エラーを取得していますか?
私が使用しているWebフレームワークはVaporです。だから、