在xmlhttprequest上重定向到400

时间:2017-11-01 11:11:31

标签: javascript html html5 web

我使用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错误页面。什么是正确的方法?如上所述,它不会重定向。

1 个答案:

答案 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";