如何从前端访问状态代码
How can I access the status code from front end
router.post("/login", async (req, res) =>
{
try
{
const user = await User.findByCredentials(req.body.email, req.body.password, req.body.email)
console.log(user)
if(user === undefined)
{
return res.sendStatus(404)
}
const token = await user.generateAuthToken()
console.log(token)
}
catch(e)
{
console.log(e)
}
})
我正在从后端发送状态代码 404。
但问题是我不能在我的前端js中使用这个状态码。
const xhr = new XMLHttpRequest();
let form = JSON.stringify({
email: $uyeolFormEmail.value,
password: $uyeolFormPassword.value
});
xhr.open("POST", "/login")
xhr.setRequestHeader('Content-type', 'application/json')
xhr.send(form)
console.log(xhr.status)
if(xhr.status === 200 || xhr.status === 201)
{
window.location.href="/takvim"
}
else if(xhr.status > 299)
{
window.location.href="/"
}
我试过 xhr.status 但没用。
有什么建议吗?
使用 XMLHttpRequest 对象,您可以定义一个函数,以便在请求收到答复时执行。
该函数在 XMLHttpResponse 对象的 onreadystatechange 属性 中定义:
const xhr = new XMLHttpRequest();
let form = JSON.stringify({
email: $uyeolFormEmail.value,
password: $uyeolFormPassword.value
});
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
window.location.href="/takvim"
}
else if(this.status > 299)
{
window.location.href="/"
}
};
xhr.open("POST", "/login")
xhr.setRequestHeader('Content-type', 'application/json')
xhr.send(form)
router.post("/login", async (req, res) =>
{
try
{
const user = await User.findByCredentials(req.body.email, req.body.password, req.body.email)
console.log(user)
if(user === undefined)
{
return res.sendStatus(404)
}
const token = await user.generateAuthToken()
console.log(token)
}
catch(e)
{
console.log(e)
}
})
我正在从后端发送状态代码 404。 但问题是我不能在我的前端js中使用这个状态码。
const xhr = new XMLHttpRequest();
let form = JSON.stringify({
email: $uyeolFormEmail.value,
password: $uyeolFormPassword.value
});
xhr.open("POST", "/login")
xhr.setRequestHeader('Content-type', 'application/json')
xhr.send(form)
console.log(xhr.status)
if(xhr.status === 200 || xhr.status === 201)
{
window.location.href="/takvim"
}
else if(xhr.status > 299)
{
window.location.href="/"
}
我试过 xhr.status 但没用。 有什么建议吗?
使用 XMLHttpRequest 对象,您可以定义一个函数,以便在请求收到答复时执行。
该函数在 XMLHttpResponse 对象的 onreadystatechange 属性 中定义:
const xhr = new XMLHttpRequest();
let form = JSON.stringify({
email: $uyeolFormEmail.value,
password: $uyeolFormPassword.value
});
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
window.location.href="/takvim"
}
else if(this.status > 299)
{
window.location.href="/"
}
};
xhr.open("POST", "/login")
xhr.setRequestHeader('Content-type', 'application/json')
xhr.send(form)