gpt4 book ai didi

html - 页面存在时出现 404 错误

转载 作者:搜寻专家 更新时间:2023-11-01 07:17:52 24 4
gpt4 key购买 nike

我正在使用 HTML 表单向服务器发出发布请求。当我按下表单的提交按钮时,出现 404 页面不存在错误。但是,如果我通过直接在地址栏中键入来访问 URL,我会收到应该从服务器收到的错误(400 无效请求)。

这是我的 HTML(注意我使用的是 leaf):

#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>
}

还有我的服务器代码(Swift):

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 错误?

我使用的网络框架是 Vapor。

最佳答案

所以,看看你的 Droplet,你添加了一 strip 有 GET-Request new-post 的新路由,但你的表单尝试 POSTnew-post,肯定会失败。

努力改变

admin.get("new-post", handler: newPost)

admin.post("new-post", handler: newPost)

关于html - 页面存在时出现 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40998552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com