嗨,我有这个ajax脚本:
function updatePage() {
if (request.readyState == 4) {
if (request.status == 200)
// get response array
var data = JSON.parse(request.responseText);
update_select($('select[name=island_name]'), data);
}
else if (request.status == 404) {
alert("Request url does not exist");
}
else {
alert("Error: status code is " + request.status);
}
}
脚本执行正常,但是当它执行时,我收到“错误:状态代码为200”的警报。当状态为200时,为什么脚本会进入此块?我该怎么做才能防止这种情况发生?
答案 0 :(得分:1)
if (request.status == 200)
条件没有{
因此,它的效果只有一行,而else
的链适用于外if
。
如果您正确缩进,您的代码如下所示:
function updatePage() {
if (request.readyState == 4) {
if (request.status == 200)
var data = JSON.parse(request.responseText);
update_select($('select[name=island_name]'), data);
} else if (request.status == 404) {
alert("Request url does not exist");
} else {
alert("Error: status code is " + request.status);
}
}