Rumah >Java >javaTutorial >Mengapakah Panggilan AJAX Plugin Struts2 JSON saya Mengembalikan Ralat 'Tidak Dapat Mencari Tindakan atau Hasil'?

Mengapakah Panggilan AJAX Plugin Struts2 JSON saya Mengembalikan Ralat 'Tidak Dapat Mencari Tindakan atau Hasil'?

Barbara Streisand
Barbara Streisandasal
2024-12-22 18:49:14921semak imbas

Why is my Struts2 JSON Plugin AJAX Call Returning an

Ralat: Tidak Dapat Mencari Tindakan atau Hasil

Senario:

Anda menggunakan pemalam Struts2 JSON dalam AJAX panggilan, tetapi responsnya tidak mengembalikan data JSON. Sebaliknya, anda menerima mesej ralat:

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

Punca:

Ralat berlaku kerana tindakan itu tidak mengembalikan jenis data yang betul. Pemalam JSON menjangkakan tindakan untuk mengembalikan objek yang boleh disiri ke dalam format JSON. Walau bagaimanapun, dalam kes ini, tindakan itu mengembalikan objek tersuai yang tidak boleh bersiri.

Penyelesaian:

Untuk menyelesaikan isu ini, anda boleh menggunakan parameter akar dalam fail struts.xml untuk menentukan objek akar yang harus disiri. Objek akar mestilah medan awam atau kaedah pengambil dalam kelas tindakan.

Contoh:

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

Dalam contoh ini, medan baris dalam tindakan kelas ialah objek akar yang akan disirikan ke dalam JSON.

Tambahan Petua:

  • Pastikan medan baris ialah jenis yang boleh disirikan ke dalam JSON, seperti Senarai Rentetan atau Senarai objek tersuai.
  • Ubah suai Fungsi panggil balik AJAX untuk menggunakan $.each untuk lelaran melalui respons JSON dan mengakses sifat col1 dan col2.
  • Ujian panggilan AJAX untuk mengesahkan bahawa respons JSON kini diterima dengan betul.

Atas ialah kandungan terperinci Mengapakah Panggilan AJAX Plugin Struts2 JSON saya Mengembalikan Ralat 'Tidak Dapat Mencari Tindakan atau Hasil'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn