我使用xmlhttprequest发布如下
// xhr response handler
xhr.onreadystatechange = function () {
if (xhr.status == 200 && xhr.readyState == 4) {
handleSuccess(xhr.responseText);
} else if (xhr.status == 400) {
console.log("400000000000000000000");
// alert("Unable to process data");
// window.location.reload();
sendRequestSimple("400.html");
// fetch("/400")
// .then(function() {
// console.log("ok");
// }).catch(function() {
// console.log("error");
// });
}
else {
console.trace("status: " + xhr.status);
console.trace("readystate: " + xhr.readyState);
}
};
// Send the Data.
xhr.send(formData);
我无法在错误情况下将其重定向到400错误页面。什么是正确的方法?如上所述,它不会重定向。
答案 0 :(得分:0)
首先,您需要使用
检查错误console.log(xhr.status);
在开始之前如果条件。
status表示服务器响应是否正常。 一般来说,当你有一个状态
500 - 599:服务器出错
400 - 499:这是客户端错误(例如:找不到404页)
300 - 399:然后存在重定向
200 - 299:那是正确的
100 - 199:表示信息消息
并在你的elseif部分内替换
sendRequestSimple("400.html");
与
window.location = "Your html path";
或
window.location.href = "demo2.html";