In meinem Dokument habe ich dieses Skript:
$.ajax({ type:"POST",url:"ajax.php",data:data,
success: function() {
//onsuccess
},
error: function() {
//onerror
}
});
Wie kann ich in dem Dokument ajax.php
, absichtlich einen Fehler melden? Reicht es aus, einfach einen 400 HTTP Status Code oder sowas zu werfen? (Und wenn ja, ist 400 der richtige?)
Warum ich frage ist, dass ich dies verwenden, um ein Formular an den Server zu senden, und wenn ein Feld nicht richtig ausgefüllt wird, möchte ich warnen der Benutzer durch den Fehlerparameter in $.ajax
. Ich weiß, dass ich dies in erster Linie mit Javascript tun könnte, aber ich hoffe, ich könnte es so machen (also muss ich die Verifizierung nicht zweimal schreiben). Aber natürlich kann ich auf diese Weise die verschiedenen Felder nicht voneinander trennen.
Nach dem, was ich es benutzen wollen, benutzen kann ich werfen irgendwie eine „individuelle Fehler“, so dass, wenn das Feld nicht richtig ausgefüllt name
wurde, den Namen des Feldes zurückgibt (dh name
). Ist es ausreichend, so etwas zu tun:
In ajax.php:
if (isFilledOutProperly($name) == false) {
echo "name";
}
else {
echo "success";
}
Und:
success: function(data) {
if (data == 'name') {
//error
}
else {
//success
}
},
ich hier auf dem Holzweg sein kann, aber wenn jemand einen besseren Vorschlag hat Wie ich das machen kann, bitte sag es mir. Vielen Dank!
Gemäß dem REST-Prinzip bedeutet die Reaktion auf eine POST-Anfrage mit HTTP 200, dass die Ressource erfolgreich erstellt wurde. Sie können mit einem HTTP 400 antworten und detaillierte Informationen über den Fehler im Format text/html/json/xml bereitstellen. – Leventix
Ich weiß das, aber wie ich gefragt habe: Ich kann absichtlich den "Fehler" -Teil von '$ werfen.ajax() 'durch Erzwingen eines HTML-Fehlers? – Eikern
Ja, wenn Sie mit einem anderen als HTTP 2xx antworten, wird der "error" -Teil aufgerufen. – Leventix