亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 go 和 javascript 在 json post 后重定向瀏覽器?

如何使用 go 和 javascript 在 json post 后重定向瀏覽器?

Go
動漫人物 2023-07-26 19:55:06
我們正在嘗試將 JSON 格式的 HTML 表單發送到 GO 代碼。我們已經實現了這一點,但是,現在我們很困惑,因為我們無法使瀏覽器重定向到相應的網頁。重定向指令直接在 Insomnia 上發送 json 可以正常工作(它返回成功狀態并顯示新頁面),但在瀏覽器中則不行。也許我們遺漏了一些代碼,但我們無法找到我們遺漏了什么。請幫忙。發送json的javascript代碼:  jQuery(document).on('submit', '#login', function(event){        event.preventDefault();        jQuery.ajax({            url: '/login/',            type: 'POST',            dataType: 'json',            data: JSON.stringify($(this).serializeFormJSON())        })        .done(function(response){            location.href = 'response';        })        .fail(function(resp){            console.log("resp");        })        .always(function(){            console.log("complete");        })    });驗證此表單的 Go 代碼:    func POSTLoginHandler(w http.ResponseWriter, r *http.Request) {        var user users.User        err := json.NewDecoder(r.Body).Decode(&user)        if err != nil {            w.WriteHeader(http.StatusBadRequest)        } else {            validCredentials, err := users.ValidarCredenciales(user)            if err != nil {                w.WriteHeader(http.StatusInternalServerError)            } else if validCredentials {                err = cookies.GenerarCookie(w, r, user.Email)                if err != nil {                    w.WriteHeader(http.StatusInternalServerError)                } else {                    http.Redirect(w, r, "/dashboard/", http.StatusSeeOther)                }            } else {                http.Redirect(w, r, "/forbidden/", http.StatusSeeOther)            }        }    }    func GetDashboardUser(w http.ResponseWriter, r *http.Request) {        exists, err := cookies.VerifyCookie(r)        if err != nil {            w.WriteHeader(http.StatusInternalServerError)        } else if exists {            http.ServeFile(w, r, "static/template.html")        } else {            http.Redirect(w, r, "/", http.StatusSeeOther)        }    }
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

當您發出 AJAX 請求時,這都是 JavaScript,而不是用戶看到的頁面。因此,當您的 AJAX 請求獲得重定向響應時,AJAX 請求就會被重定向。僅當用戶導航到的 URL 返回重定向時,用戶看到的頁面才會重定向。如果你想要 JavaScript 改變瀏覽器頁面,你必須編寫 JS 來做到這一點,它不會自動發生。



查看完整回答
反對 回復 2023-07-26
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號