Javascript 处理AJAX错误(本机JS)
我试图用下面的代码处理AJAX错误,但它不起作用Javascript 处理AJAX错误(本机JS),javascript,ajax,Javascript,Ajax,我试图用下面的代码处理AJAX错误,但它不起作用 function ajaxPost(url, data, success, error) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status === 200) { if (ty
function ajaxPost(url, data, success, error) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status === 200) {
if (typeof success === "function") {
success(xmlhttp.responseText);
}
}else if([404, 500 , 503, 504 ].indexOf(xmlhttp.status) > -1){
if(typeof error === "function"){
error();
}
}
}
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xmlhttp.send(JSON.stringify(data));
}
我是否缺少[404500503504]
中的任何其他状态代码?我不是在重新发明轮子,我已经使用本机JavaScript对整个DOM进行了编程,不想只为AJAX包含80KB的文件。请帮我做这个
上述函数已成功将数据发布到服务器,但在服务器不可用时未能引发错误。请帮我处理这个问题。//试试这个代码
// try this code
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState === 4) {
var resp=eval('('+xmlhttp.responseText+')');
if( xmlhttp.status == 200 ) {
// success
} else if( xmlhttp.status >= 500 ) {
// internal server error
} else if ( xmlhttp.status >= 402 && xmlhttp.status <= 420 ) {
// error
} else if( xmlhttp.status == 400 || xmlhttp.status == 401 ) {
// bad request & unauthorized error
}
}
};
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4){
var resp=eval('('+xmlhttp.responseText+');
if(xmlhttp.status==200){
//成功
}否则如果(xmlhttp.status>=500){
//内部服务器错误
}else if(xmlhttp.status>=402&&xmlhttp.status//请尝试此代码
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4){
var resp=eval('('+xmlhttp.responseText+');
if(xmlhttp.status==200){
//成功
}否则如果(xmlhttp.status>=500){
//内部服务器错误
}否则,如果(xmlhttp.status>=402&&xmlhttp.status,则始终可以检查任何不成功的内容,例如:
function ajaxPost(url, data, success, error) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status === 200) {
if (typeof success === "function") {
success(xmlhttp.responseText);
}
}else if(typeof error === "function" && (xmlhttp.status > 299 || xmlhttp.status < 200)){
error();
}
}
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xmlhttp.send(JSON.stringify(data));
}
函数ajaxPost(url、数据、成功、错误){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
如果(成功类型==“函数”){
成功(xmlhttp.responseText);
}
}else if(typeof error==“function”&(xmlhttp.status>299 | | xmlhttp.status<200)){
错误();
}
}
open(“POST”,url,true);
setRequestHeader('Content-Type','application/json;charset=UTF-8');
send(JSON.stringify(data));
}
您可以随时检查任何不成功的内容,例如:
function ajaxPost(url, data, success, error) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status === 200) {
if (typeof success === "function") {
success(xmlhttp.responseText);
}
}else if(typeof error === "function" && (xmlhttp.status > 299 || xmlhttp.status < 200)){
error();
}
}
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xmlhttp.send(JSON.stringify(data));
}
函数ajaxPost(url、数据、成功、错误){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
如果(成功类型==“函数”){
成功(xmlhttp.responseText);
}
}else if(typeof error==“function”&(xmlhttp.status>299 | | xmlhttp.status<200)){
错误();
}
}
open(“POST”,url,true);
setRequestHeader('Content-Type','application/json;charset=UTF-8');
send(JSON.stringify(data));
}
console.log(xmlhttp.status);
?console.log(xmlhttp.status);
?