要验证我网站上的登录信息,我会向服务器发送POST请求。如果它返回403
状态,则表示凭据不正确,200
状态表示登录成功。
这是我用来发送该请求的代码:
var req = new XMLHttpRequest()
var form = document.getElementById("login")
req.onreadystatechange = function() {
if (req.readyState !== 4) return
if (req.status === 200) {
console.log(req)
} else if (req.status === 403) {
document.getElementById("login-err").innerHTML = req.responseText
} else {
document.getElementById("login-err").innerHTML = "internal server error"
}
}
req.open("POST", `https://${window.location.host}/newsession`, true)
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
req.send(`username=${form.username.value}&password=${form.password.value}`)
它适用于200
状态,但当状态为403
(或500
)时,会在控制台中记录错误:Failed to load resource: the server responded with a status of 403 (Forbidden)
。
虽然这不是巨大的问题,但我希望,因为我正在处理状态代码,所以不应该有错误。有没有办法解决这个问题?