javascript - 如何在 jquery 帖子的回调中重定向

标签 javascript jquery redirect callback routes

收到数据后我的主页没有重定向到登录页面。 这是主页 js:

$(function(){
    const submit = $('#submit');
    const save = $('#save');
    const email = $('#email');
    const username = $('#username');
    const password = $('#password');
    const userlogin = $('#Username login');
    const passlogin = $('#Password login');
    save.click(function(e){
        e.preventDefault();
        $.post('/signup',{
            email:email.val(),
            username:username.val(),
            password:password.val()
        }, function(data){
            console.log(1)
            if(data.username){
            localStorage.setItem("username",data.username)
            }
            window.location.href(data.url)
        })
    })
    submit.click(function(e){
        e.preventDefault();
        $.post('/login',{
            username:userlogin.val(),
            password:passlogin.val()
        }, function(data){
            window.location.href(data.url)
        })
    })
})

这是后端的 routes.js 文件

app.post('/signup', function(req,res){
    var a = [req.body.email,req.body.username,req.body.password];
    Users.findOne({
       where: { email: a[0],
        username: a[1],
        password: a[2],
       }

    }).then(users => {
        if (users) {
        res.send({
            url:'/'
        })
        }
        else{
            Users.create({
                email: a[0],
                username: a[1],
                password: a[2],

          }).then(users => {
                res.send({
                    url:'/profile',
                    username: a[1]
                })
          })    
        }
    })
})

我需要在收到来自服务器的成功回调后重定向到/profile。但是现在页面没有加载,但是用户名字段已成功存储在本地存储中。 我相信这是由于 window.location.href 而发生的

最佳答案

您可以通过多种方式进行。

首先让我告诉你代码中有什么问题,

你必须使用,

window.location.href = "https://www.example.com";

因为你写的符号不对

window.location.href(data.url) // this is wrong

Window.location docs at MDN

现在换一种方式,

您可以在标记中指定 post 方法,也可以在 action 属性中指定。

<form name="some_name" method="POST" action="/signup">
... Your Form ...
</form>

关于javascript - 如何在 jquery 帖子的回调中重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49605512/

相关文章:

apache - 为什么我的子域文件夹中的 htaccess 覆盖了我主域中的 htaccess 的各个方面?

javascript - 我如何在 Angular 4 中像 Firefox 一样使用 chrome 选择相同的文件

javascript - JSON 中第 40 位的意外标记 t

javascript - 如何找到类为 "select"的 attr

javascript - 相对于处理程序事件的按键事件

javascript - 在 Javascript 中重定向到之前的 ROUTE

javascript - 向正则表达式添加特殊字符?

javascript - JQuery 伪选择器 :visible is working at one place but not at other place

jquery - 使用 jquery 隐藏 div 中的所有选择元素?

regex - 使用重定向配置重写 HAProxy 和 reqrep 路径