gpt4 book ai didi

转到 http 响应几个 header

转载 作者:数据小太阳 更新时间:2023-10-29 03:22:39 24 4
gpt4 key购买 nike

如果他输入错误的密码,我想向用户发送警报,并在他输入密码时将其返回到页面。我是这样做的

func sendJSONHandler(w http.ResponseWriter, r *http.Request) {
if r.Method == "GET" {
http.ServeFile(w, r, "template/api/api.html")
} else if r.Method == "POST" {
r.ParseForm()
if r.Form["password"][0] == "apiPassword" {
j := struct {
Proxies []string
}{Proxies: code.UP.Proxy}
w.Header().Set("Access-Control-Allow-Origin", corsAddrSite)
json.NewEncoder(w).Encode(j)
} else {

// here is a problem
fmt.Fprintln(w, "<script>alert('Wrong Password')</script>")
http.ServeFile(w, r, "template/api/api.html")

}
}
}

但是我得到了 http: multiple response.WriteHeader calls 错误。怎样做才是对的?

最佳答案

根据 HTTP 规范,您不能多次写入 http.ResponseWriter。

来自 go 文档 https://golang.org/pkg/net/http/#ResponseWriter

要解决您的问题,您可以在模板文件中添加脚本标签,或者制作一个新模板。您还可以通过在发送之前添加警报脚本来定制响应。也许使用模板文件。

然而,解决此问题的正确方法可能是在实际提供的 html 中包含更多逻辑,前端应根据状态代码或响应正文显示响应。

关于转到 http 响应几个 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50891697/

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