首頁 >Java >java教程 >為什麼我的 Struts2 JSON 插件 AJAX 呼叫返回'無法查找操作或結果”錯誤?

為什麼我的 Struts2 JSON 插件 AJAX 呼叫返回'無法查找操作或結果”錯誤?

Barbara Streisand
Barbara Streisand原創
2024-12-22 18:49:14956瀏覽

Why is my Struts2 JSON Plugin AJAX Call Returning an

錯誤:無法找到操作或結果

場景:

您正在AJAX 中使用Struts2 JSON 插件調用,但回應不回傳JSON 資料。相反,您會收到一條錯誤訊息:

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

原因:

發生錯誤是因為操作未傳回正確類型的資料。 JSON 外掛程式期望操作傳回一個可以序列化為 JSON 格式的物件。但是,在這種情況下,操作傳回的是不可序列化的自訂物件。

解決方案:

要解決此問題,您可以在中使用 root 參數struts.xml 檔案來指定應序列化的根物件。根物件必須是操作類別中的公共欄位或 getter 方法。

範例:

<result type="json">
    <param name="root">rows</param>
</result>

在此範例中,操作中的 rows 欄位class 是將被序列化為 JSON 的根物件。

其他Tips:

  • 確保rows欄位是可以序列化為JSON的類型,例如字串清單或自訂物件清單。
  • 修改AJAX 回呼函數使用 $.each 迭代 JSON 回應並存取 col1 和 col2 屬性。
  • 測試 AJAX 呼叫確認現在已正確接收 JSON 回應。

以上是為什麼我的 Struts2 JSON 插件 AJAX 呼叫返回'無法查找操作或結果”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn