jqgrid server-side Fehlermeldung/Validierung Umgang mit
In meinem json-Antworten, ich habe 'STATUS' und 'Fehler' - Eigenschaften.
Wie können diese Fehler Eigenschaften mit jqGRid. Analysiert werden alle Fehler und zeigt diese in einem Dialogfeld an.
Im Grunde nur prüfen, ob der status:'FEHLER' zeigt dann alle Fehler.
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im letzten Teil die Antwort zu Ihrer vorherigen Frage, die ich bereits versucht habe versucht, die Antwort zu geben auf Ihre aktuellen Frage. Wahrscheinlich drückte ich mich nicht klar genug ausgedrückt.
Sollten Sie nicht Ort und Informationen über die Fehler in der standard-Reaktion erfolgreich. Sie sollten Folgen Sie einfach den wichtigsten Regeln des HTTP-Protokolls für die Kommunikation zwischen dem server und dem client.
Den laden von Daten in das raster, das editieren der Zeilen und alle Ajax-Kommunikation mit dem server implementiert werden, mit Bezug auf das HTTP-Protokoll. Jeder HTTP-response hat den status-code in der ersten Zeile der Antwort. Es ist sehr wichtig zu verstehen, die Bedeutung dieser.
Den typischen erfolgreiche Requests mit JSON-Daten sieht wie folgt
Wenn die URL, die versuchen, zu laden, die nicht existieren, zum Beispiel die erste Zeile der server-Antwort wird
und jqGrid basiert auf dem HTTP-status-code (404 in dem Fall) *nicht versuchen, zu interpretieren, die der server-Antwort als die Daten, die die Daten enthält, mit der grid content.
Die demo hat den folgenden code
dem display die Warnmeldung angezeigt wird, wie folgt:
Darüber hinaus sind in den
jqXHR.responseText
finden Sie der volle Körper der server-Antwort als string. Die nächste Warnung zeigt die Antwort.Mit allen oben genannten Informationen, die ich Ihnen zeigen wollte, dass Fehlermeldungen und erfolgreiche Antworten verarbeitet werden, in einer anderen Art und Weise durch den gesamten Stapel von software, die Sie benutzen (jqGrid jQuery,
XMLHttpRequest
Objekt, ...). So sollten Sie nur verwenden, Fehler HTTP-status-codes in der server-Antworten, wenn der Fehler erkannt. In die Antwort zum Beispiel werden Sie sehen, wie das im Fall der Nutzung ASP.NET MVC.Hier finden Sie eine andere version der
loadError
Umsetzung, die darauf warten den Eingang in die JSON-form:{"Source":"some error source",Message:"Description of the error"}
, und der Fehler ausgegeben wird wie hieraber der code anzeigen kann zusätzlich HTML-Antwort erzeugt, die von Ihrem web-server:
Können Sie leicht ändern Sie den code für Ihren Zweck. Den code finden Sie unten
wo die
decodeErrorMessage
Funktion definiert alsUPDATE: Kostenlose jqGrid enthält default-Implementierung von
loadError
(siehe hier und hier), das erzeugt eine relativ lesbare Fehlermeldung bei den meisten Ajax-Fehler. Es zeigt den resultierenden text in der Fehlermeldung, div, bestehende über den Körper des Gitters. So ist es empfohlen, um zu testen, ob der default-Verhalten produzieren gute Ergebnisse, vor der Verwendung von benutzerdefiniertenloadError
. Wenn Sie wirklich brauchen, erstellen Sie Ihre eigenenloadError
dann kann man die Fehlermeldung in der error-div mitdisplayErrorMessage
Methode der freien jqGrid:$("#grid").jqGrid("displayErrorMessage", customErrorMessage);
Ich war auf der Suche für ein ähnliches problem vor einiger Zeit und stieß mit diesem Antwort.
Lesen Oleg ' s Antwort. Er ist der jqgrid Mann 😉