Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie gehe ich mit serverseitigen Fehlern und der Formularvalidierung in jqGrid um?

Linda Hamilton
Freigeben: 2024-11-17 04:38:03
Original
324 Leute haben es durchsucht

How to Handle Server-Side Errors and Form Validation in jqGrid?

Umgang mit serverseitigen Fehlern und Formularvalidierung in jqGrid

Problem:

Sie müssen Fehler aus einem JSON analysieren Antwort und zeigen Sie sie in einem Dialogfeld in Ihrem jqGrid an. Idealerweise soll das Raster nach „STATUS: ‚ERROR‘“ suchen und alle Fehlermeldungen entsprechend anzeigen.

Antwort:

Es ist wichtig, die Richtlinien des HTTP-Protokolls zu befolgen bei der Kommunikation zwischen Server und Client. Die standardmäßige erfolgreiche Antwort umfasst Folgendes:

HTTP/1.1 200 OK
...
Content-Type: application/json
...

{"page":"1",....}
Nach dem Login kopieren

Wenn die URL hingegen nicht vorhanden ist, beginnt die Serverantwort mit:

HTTP/1.1 404 Not Found
Nach dem Login kopieren

jqGrid basiert auf HTTP-Statuscodes um zu bestimmen, wie mit Serverantworten umgegangen wird. Beispielsweise gibt ein 404-Statuscode an, dass das Raster nicht versucht, JSON-Daten zu interpretieren.

Democode:

Um dieses Konzept zu demonstrieren:

$("#list").jqGrid({
    url: 'Unknown.json', // file with this name doesn't exist
    datatype: 'json',
    // ... other relevant parameters
    loadComplete: function () {
        alert("OK");
    },
    loadError: function (jqXHR, textStatus, errorThrown) {
        alert('HTTP status code: ' + jqXHR.status + '\n' +
              'textStatus: ' + textStatus + '\n' +
              'errorThrown: ' + errorThrown);
        alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
    }
});
Nach dem Login kopieren

Dieser Code zeigt die folgenden Warnungen an:

  • HTTP-Statuscode: 404
  • textStatus: Nicht gefunden
  • errorThrown: Fehler
  • HTTP-Nachrichtentext (jqXHR.responseText): leer

Benutzerdefinierter Fehler Handhabung:

Wenn Sie Fehlerantworten anders behandeln möchten, können Sie dies tun Verwenden Sie Fehler-HTTP-Statuscodes. Unten ist eine erweiterte Version der LoadError-Implementierung:

loadComplete: function () {
    // remove error div if it exists
    $('#' + this.id + '_err').remove();
},
loadError: function (jqXHR, textStatus, errorThrown) {
    // remove error div if it exists
    $('#' + this.id + '_err').remove();

    // insert div with the error description before the grid
    $(this).closest('div.ui-jqgrid').before(
        '<div>
Nach dem Login kopieren

Diese Funktion entfernt alle vorhandenen Fehler-Div und fügt dann ein neues Div vor dem Raster ein, um die Fehlermeldung anzuzeigen. Die decodeErrorMessage-Funktion kann angepasst werden, um Fehlermeldungen in Ihrem bevorzugten Format zu verarbeiten.

Verwendung von displayErrorMessage:

Free jqGrid bietet eine integrierte displayErrorMessage-Methode zum Anzeigen von Fehlermeldungen in ein Fehler div über dem Raster. Bevor Sie die benutzerdefinierte Fehlerbehandlung verwenden, wird empfohlen, das Standardverhalten zu testen, um sicherzustellen, dass es Ihren Anforderungen entspricht.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit serverseitigen Fehlern und der Formularvalidierung in jqGrid um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage