Ich verwende MVC, um JSON-Daten an JsTree weiterzuleiten und eine hierarchische Ansicht von Informationen anzuzeigen. Alles funktioniert gut, es gibt jedoch Zeiten, in denen der Benutzer nicht auf die Daten zugreifen kann oder die MVC-Aktion aus irgendeinem Grund eine Ausnahme auslöst:
In diesen Fällen übergibt die Aktion eine JSON-Fehlermeldung und legt HttpStatusCode
auf NotAccepted
oder InternalServerError
fest.
Aber der Sünder des JsTree dreht sich weiter und ich finde keinen Weg, ihn zum Stoppen zu bringen und die Fehlermeldung anzuzeigen.
Hat jemand dieses Problem schon einmal gelöst? Wie kann man eine Fehlerbehandlung durchführen, wenn man das JSON-Daten-Plugin von JsTree benutzt?
UPDATE:
Ich habe herausgefunden, wie ich den Fehler erfassen kann:
%Vor%Es scheint, dass JsTree den MVC http statusCode und den Fehler bekommt, jetzt muss ich herausfinden, wie ich dem JsTree sagen kann, dass er nicht mehr wartet und das Spinner-Image entfernt!
Ich suche auch eine gute Möglichkeit, den Fehler in JsTree zu zeigen, oder sollte ich die Fehlermeldung außerhalb davon verwalten?
Ich habe dieses Problem gelöst.
Nur eine Anmerkung - das obige Codebeispiel für die Behandlung von Ajax-Aufruffehlern ist falsch. Ein vollständiges Beispiel finden Sie unten:
%Vor%Und in der tatsächlichen Aktion müssen Sie den HTTP-Antwortstatuscode auf 1 setzen und den Fehler schreiben. z.B.
%Vor%Genießen Sie:)
Vielleicht sollten Sie diesen Fehler in einer Ebene über der .jstree behandeln. Vielleicht können Sie dies erreichen, indem Sie das window.onerror-Ereignis behandeln. Hier könnten Sie eine Funktion aufrufen, die den Baum oder etwas wieder aufbaut? Stellen Sie sicher, dass Sie dieses Skript als erstes auf Ihrer Seite einfügen.
%Vor%Tags und Links asp.net-mvc json jstree