を呼び出していますので、私は現在、ログインとそれぞれのGoウェブアプリケーションのサインアップ機能を書いています。必要なフォームフィールドの両方を記入しないと、ユーザー名 ""パスワード "それはあなたにhttp.Error
を与えるでしょうし、それをhttp.Redirect
にしようとしていますが、まだリダイレクトが発生するとこのエラーが発生します。 http: multiple response.WriteHeader calls
は、ここで私はそれはまだ私はかなりの代替を考え出すことはできませんので、もし/ else文の中の複数のHTTP呼び出しであることを知っています。..Golang http:multiple response.WriteHeaderは
//Check form submission
var u user
if req.Method == http.MethodPost {
un := req.FormValue("username")
p := req.FormValue("password")
//Checking to see if user filled out required fields.
if un == ""{
http.Error(w, "Please fill out required fields, you will be redirected shortly.", http.StatusForbidden)
time.Sleep(3000 * time.Millisecond)
//http.Redirect(w, req, "/" http.StatusSeeOther)
return
}else if p == "" {
http.Error(w, "Please fill out required fields, you will be redirected shortly.", http.StatusForbidden)
time.Sleep(3000 * time.Millisecond)
//http.Redirect(w, req, "/", http.StatusSeeOther)
return
}
c.Value = un
u = user{un, p}
dbUsers[c.Value] = u
http.Redirect(w, req, "/login", http.StatusSeeOther)
log.Println(dbUsers)
return
}
私のコードです。どんな助けでも大歓迎です!
ショーのように、要求ハンドラの全てを遅延した後、クライアント側でリダイレクトまたは直接HTTPリダイレクトを使用するようにメタタグやJavaScriptを使用することができます。他のヘッダー書き込みは、私たちが見ることができないコードから来ています。 –
エラーの原因と思われる 'http.Error'と' http.Redirect'を呼び出すことはできません。あなたがこの投稿のために意図的にコメントしたかどうかはわかりません。 – squiguy