它还执行我的else语句

use*_*331 0 javascript if-statement

我的if语句是真的,但它也执行我的else语句

if ((request.readyState === 4) && (request.status === 200)) {
    var i = JSON.parse([request.responseText]);
    console.log(i);
} 
else {
    alert("no file");
}
Run Code Online (Sandbox Code Playgroud)

Ber*_*rgi 8

也许您希望此片段只执行一次,但readyStateChange事件会多次触发.试试这个:

if (request.readyState===4) {
    if (request.status===200) {
        var i = JSON.parse([request.responseText]);
        console.log(i);
    } else {
         alert("no file");
    }
}
Run Code Online (Sandbox Code Playgroud)