如何处理jquery.post中的404错误

问题描述:

我不知道如何处理$ .post()中的404错误?如何处理jquery.post中的404错误

$.post(url, data, function(returnedData) { 

它只能处理成功的数据,但我要处理的404错误也in.i知道如何用Ajax做,但不知道有此功能,请帮助。

function returnData(url,data,type){ 
     $.post(url, data, function(returnedData) { 
     if(type == "contacts") 
     { 
     ko.applyBindings(new ContactsViewModel(returnedData,"#KnockOutContacts",url,data),$("#KnockOutContacts")[0]); 
     ko.applyBindings(new ContactsViewModel(returnedData,"#ContactDetails",url,data),$("#ContactDetails")[0]); 
     } 
     else if(type == "logs") 
     { 
     alert(returnedData); 
     alert(1); 
     ko.applyBindings(new LogsViewModel(returnedData,url,data),$("#KnockOutLogs")[0]); 
     } 
     else if(type == "sms") 
     { 
      ko.applyBindings(new SmsViewModel(returnedData,"#KnockOutSmsData",url,data),$("#KnockOutSmsData")[0]); 
      ko.applyBindings(new SmsViewModel(returnedData,"#KnockOutSms",url,data),$("#KnockOutSms")[0]); 
     } 
     else if(type == "calendar") 
     { 
     ko.applyBindings(new CalendarViewModel(returnedData,"#KnockOutCalendar",url,data),$("#KnockOutCalendar")[0]); 
     } 
     else if(type == "search") 
     { 
     ko.applyBindings(new SearchViewModel(returnedData,"#searchbox",url,data),$("#searchbox")[0]); 
     } 
     else if(type == "location") 
     { 
     ko.applyBindings(new LocationViewModel(returnedData,"#KnockOutMaps",url,data),$("#KnockOutMaps")[0]); 
     } 
     else if(type == "photos") 
     { 
     ko.applyBindings(new PhotosViewModel(returnedData,"#photogallary",url,data),$("#photogallary")[0]); 
     ko.applyBindings(new PhotosViewModel(returnedData,"#PhotosDown",url,data),$("#PhotosDown")[0]); 
     } 
    }); 
} 

我bascially申请绑定,当我得到的数据,但是当我没有得到的数据它没有走成功函数内部和多数民众赞成打破我的JS。

您可以使用全局错误处理程序:

$(document).ajaxError(function(e, xhr, settings, exception) { 

}); 

阅读statusCode回调here

$.ajax({ 
    url: "/page.htm", 
    type: "POST", 
    statusCode: { 
     404: function() { 
      alert("page not found"); 
     } 
    } 
}) 

编辑。

还可以与$.post

$.post(url, data, function(returnedData) { 
    //callback 
}).fail(function(jqXHR, textStatus, errorThrown){ 
    if(jqXHR.status == 404) { 

    } 
}); 
+0

accieved我不想用'$ .ajax' – rohitarora 2013-02-18 10:42:00

+0

您可以使用'.fail'回调做到这一点。请参阅编辑。 – 2013-02-18 10:52:59

+0

失败dint曾为我工作 – rohitarora 2013-02-18 11:00:46