如何使用javascript重定向?

问题描述 投票:-1回答:1

如你所见,我正在使用一个在线验证用户和密码的登录表单,生成一个令牌,并且应该将用户重定向到某个 pacientes.html 一旦token存在,页面就会出现问题。

问题始于 renderApp. 它确实执行了 window.location.href但为了重定向,我必须手动刷新页面。我做错了什么吗?

let ruta = 'login'

const renderApp = () =>{
    const token = localStorage.getItem('token')
    if (token) {
        window.location.href = "pacientes.html"

    }
}

window.onload= () => {
    renderApp()
    const loginForm= document.getElementById('login')
    loginForm.onsubmit = (e) =>{
        e.preventDefault()
        e.stopPropagation()
        const cedula = document.getElementById('cedula').value
        const password = document.getElementById('password').value

        fetch('https://janfa.gharsnull.now.sh/api/auth/login', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({cedula, password})
        }).then( x => x.json())
          .then( respuesta => {
            localStorage.setItem('token' , respuesta.token)
            ruta = 'users'
          })
    }

}  
javascript html token window.location
1个回答
0
投票

如果你想在收到HTTP请求的响应时重定向,那么将重定向的代码放在 then 回调。

即替换 ruta = 'users'location.href = "pacientes.html".

如果你把它放在render函数中,它只会在组件渲染时被执行。

© www.soinside.com 2019 - 2024. All rights reserved.