【发布时间】:2014-12-12 17:37:17
【问题描述】:
所以我使用纯 javascript(没有 jquery)将文件发送到服务器。服务器脚本 PHP 最后返回状态码 200,但 javascript 正在准备就绪状态 == 2。
PHP 代码发回状态码 200:
header('X-PHP-Response-Code: 200', true, 200);
exit;
javascript 正在做的事情:
request.onreadystatechange = function() {
if (request.readyState == 4) {
var message;
switch(request.status) {
case '200':
message = "Data uploaded successfully.";
break;
case '406':
message = "Incorrect file format. Please try again.";
break;
case '410':
message = "Unexpected error. Please contact support.";
break;
default:
break;
}
status_message_container.innerHTML = message;
submit_button.disabled = false;
}
else {
alert( "Unexpected error: " + this.statusText + ".\nPlease try again");
}
};
request.send(formData);
即使知道 HTTP 200 状态代码在前端正确返回(我得到“OK”)。 JS 脚本看到 readyState==2(即 else 块总是命中)
我的理解是200的服务器状态码应该给readyState == 4??
【问题讨论】:
标签: javascript php ajax xmlhttprequest http-status-code-200