如何重定向到另一个网页
短信预约 -IT技能 免费直播动态提醒
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《如何重定向到另一个网页》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~
问题内容我想做的事情
我想在注册过程成功时重定向到索引页面。
问题是什么
填写用户名和密码后,页面没有重定向到索引页面,而是停留在signup.html。
我做了什么
我怀疑 createuser 函数返回 nil 并导致出现错误,但我无法解决它。
代码
// user model declaration
type user struct {
gorm.model
username string `form:"username" binding:"required" gorm:"unique;not null"`
password string `form:"password" binding:"required"`
}
// user sign up
func createuser(username string, password string) []error {
passwordencrypt, _ := crypto.passwordencrypt(password)
db := gormconnect()
defer db.close()
// insert
if err := db.create(&user{username: username, password: passwordencrypt}).geterrors(); err != nil {
return err
}
return nil
}
func main(){
router := gin.Default()
router.LoadHTMLGlob("front/*.html")
dbInit()
// index
router.GET("/", func(c *gin.Context) {
b_models := dbGetAll()
num := dbGetNum()
sumQuantity := dbGetSumQuantity()
sumPrice := dbGetSumPrice()
c.HTML(200, "belongings.html", gin.H{"b_models": b_models, "num": num, "sumQuantity": sumQuantity.Totalquantity, "sumPrice": sumPrice.Totalprice})
})
// User sign up page
router.GET("/signup", func(c *gin.Context) {
c.HTML(200, "signup.html", gin.H{})
})
// User sign up process
router.POST("/signup", func(c *gin.Context) {
var form User
// Validation
if err := c.Bind(&form); err != nil {
c.HTML(http.StatusBadRequest, "signup.html", gin.H{"err": err})
log.Println("fail to login because your info is invalid")
c.Abort()
} else {
username := c.PostForm("username")
password := c.PostForm("password")
// Process to reject duplicate registered users
if err := createUser(username, password); err != nil {
c.HTML(http.StatusBadRequest, "signup.html", gin.H{"err": err})
c.Abort()
} else {
log.Println("success to signup!")
c.Redirect(302, "/")
}
}
})
}
解决方案
你可以在javascript中更改页面,我不明白为什么你希望你的后端做前端的事情。
window.location.href = "the_page.html"
今天关于《如何重定向到另一个网页》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注编程网公众号!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341