Heim > Java > javaLernprogramm > Warum gibt mein Struts2-JSON-Plugin-AJAX-Aufruf den Fehler „Aktion oder Ergebnis konnte nicht gefunden werden' zurück?

Warum gibt mein Struts2-JSON-Plugin-AJAX-Aufruf den Fehler „Aktion oder Ergebnis konnte nicht gefunden werden' zurück?

Barbara Streisand
Freigeben: 2024-12-22 18:49:14
Original
918 Leute haben es durchsucht

Why is my Struts2 JSON Plugin AJAX Call Returning an

Fehler: Aktion oder Ergebnis konnte nicht gefunden werden

Szenario:

Sie verwenden das Struts2 JSON-Plugin in einem AJAX Aufruf, aber die Antwort gibt keine JSON-Daten zurück. Stattdessen erhalten Sie eine Fehlermeldung:

org.apache.struts2.dispatcher.Dispatcher - Could not find action or result
No result defined for action action.Part 
and result {"col1":"col1","col2":"col2"}
Nach dem Login kopieren

Ursache:

Der Fehler tritt auf, weil die Aktion nicht den richtigen Datentyp zurückgibt. Das JSON-Plugin erwartet, dass die Aktion ein Objekt zurückgibt, das in das JSON-Format serialisiert werden kann. In diesem Fall gibt die Aktion jedoch ein benutzerdefiniertes Objekt zurück, das nicht serialisierbar ist.

Lösung:

Um dieses Problem zu beheben, können Sie den Root-Parameter in verwenden die Datei struts.xml, um das Stammobjekt anzugeben, das serialisiert werden soll. Das Stammobjekt muss ein öffentliches Feld oder eine Getter-Methode in der Aktionsklasse sein.

Beispiel:

<result type="json">
    <param name="root">rows</param>
</result>
Nach dem Login kopieren

In diesem Beispiel das Zeilenfeld in der Aktion Klasse ist das Stammobjekt, das in JSON serialisiert wird.

Zusätzlich Tipps:

  • Stellen Sie sicher, dass das Zeilenfeld ein Typ ist, der in JSON serialisiert werden kann, z. B. eine Liste von Zeichenfolgen oder eine Liste benutzerdefinierter Objekte.
  • Ändern Sie das AJAX-Rückruffunktion, um $.each zu verwenden, um die JSON-Antwort zu durchlaufen und auf die Eigenschaften col1 und col2 zuzugreifen.
  • Testen Sie die AJAX-Aufruf, um zu bestätigen, dass die JSON-Antwort jetzt korrekt empfangen wird.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Struts2-JSON-Plugin-AJAX-Aufruf den Fehler „Aktion oder Ergebnis konnte nicht gefunden werden' zurück?. 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