In un jQuery Ajax chiamata Attualmente sto maneggiando statusCode di 200 e 304. Ma ho anche "errore" definito" Per catturare tutti gli errori che potrebbe tornare.
Se c'è un messaggio di convalida legato torniamo il codice di stato 400 -. Bad Request
Questo rientra quindi nella funzione "Error" prima di cadere nella funzione statusCode "400" avevo definito il che significa due azioni avvengono
.. Idealmente non mi piacerebbe definire "Errore" e "Successo" e definire solo "statusCode" Ma quello di cui ho bisogno è avere un "Else" in modo che non mi serva dichiarare ogni statusCode che esiste solo il 2-3 che voglio gestire in modo diverso.
$.ajax({
type: 'POST',
contentType: "application/json",
url: "../API/Employees.svc/" + EmployeeId + "/Company/" + CompanyId,
data: jsonString,
statusCode: {
200: function() { //Employee_Company saved now updated
hideLoading();
ShowAlertMessage(SaveSuccessful, 2000);
$('#ManageEmployee').dialog('close');
},
304: function() { //Nothing to save to Employee_Company
hideLoading();
$('#ManageEmployee').dialog('close');
if (NothingToChange_Employee) {
ShowAlertMessage(NothingToUpdate, 2000);
} else {
ShowAlertMessage(SaveSuccessful, 2000);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
AjaxError(XMLHttpRequest, textStatus, errorThrown);
}
});
questo sembra funzionare abbastanza bene ed è una buona risposta, anche se nella mia situazione ho finito con realtà utilizzando sia successo e non è riuscito. e fai una dichiarazione simile se hai sopra in ciascuna. – Steve
completato() è ora deprecato. Usa metodi di sostituzione fatti, falliti, sempre. – redochka