如何使用 javascript 重定向?
how to redirect using javascript?
如您所见,我使用的登录表单可以在线验证用户和密码,生成一个令牌,并且应该在令牌存在后将用户重定向到 pacientes.html
页面。
问题始于 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'
})
}
}
如果您想在从 HTTP 请求获得响应时进行重定向,请将要重定向的代码放在 then
回调中。
即将 ruta = 'users'
替换为 location.href = "pacientes.html"
.
如果放在render函数中,只会在组件渲染的时候执行!
如您所见,我使用的登录表单可以在线验证用户和密码,生成一个令牌,并且应该在令牌存在后将用户重定向到 pacientes.html
页面。
问题始于 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'
})
}
}
如果您想在从 HTTP 请求获得响应时进行重定向,请将要重定向的代码放在 then
回调中。
即将 ruta = 'users'
替换为 location.href = "pacientes.html"
.
如果放在render函数中,只会在组件渲染的时候执行!