Cara Mengatasi Error “Failed Ajax Request / Invalid JSON Returned” di OJS 3.4

Error “Failed Ajax Request / Invalid JSON Returned” di OJS 3.4 biasanya terjadi karena ketidakcocokan PHP (terutama PHP 8.0), cache yang rusak, atau data query yang kosong (NULL). Solusi paling efektif adalah upgrade ke PHP 8.1, membersihkan cache OJS, dan menonaktifkan plugin yang bermasalah.

1. Apa itu Error Failed Ajax Request di OJS?

Error ini terjadi pada Open Journal Systems ketika sistem gagal mengembalikan data dalam format JSON saat melakukan request AJAX.

Biasanya muncul saat:

  • Edit discussion
  • Review submission
  • Query grid
  • Workflow editorial

Gejala:

  • Loading tidak berhenti
  • Tombol tidak merespons
  • Error 500 Internal Server Error
  • Response tidak valid JSON

2. Penyebab Utama (berdasarkan real case di shared hosting)

2.1 PHP 8.0 tidak kompatibel penuh

Di PHP 8.0, fungsi berikut menjadi strict:

count(null)

Jika OJS mengirim data kosong, maka akan langsung menjadi fatal error.

Dampak:

  • AJAX gagal
  • JSON response rusak
  • HTTP 500 muncul

2.2 Data NULL di sistem query OJS

Sistem OJS menggunakan struktur:

  • query
  • notes
  • participants

Jika data kosong, sistem tetap mencoba memprosesnya → crash.

2.3 Cache OJS tidak sinkron

Cache lama dapat menyebabkan:

  • template tidak sesuai versi
  • data lama masih dipanggil
  • error pada Smarty engine

2.4 Plugin tidak kompatibel

Plugin tertentu dapat merusak:

  • queries-grid
  • discussion handler
  • AJAX controller ($$$call$$$)

3. Cara Mengatasi Error (Step-by-step)

Step 1 — Upgrade PHP (Paling penting)

Gunakan:

  • PHP 8.1 (recommended)
  • PHP 8.2 (jika kompatibel hosting)

Hindari PHP 8.0

Step 2 — Clear Cache OJS

Hapus folder:

/cache/
/cache/t_cache/
/cache/t_compile/

Tujuannya:

  • reset template engine
  • regenerasi data bersih

Step 3 — Nonaktifkan plugin bermasalah

Masuk:
Settings → Plugins

Lalu:

  • nonaktifkan plugin non-default
  • test ulang fitur error

Step 4 — Perbaiki data yang corrupt

Jika error hanya terjadi di satu submission:

  • hapus discussion yang error
  • buat ulang thread

4. Hasil Setelah Perbaikan

Setelah langkah di atas:

  • AJAX kembali normal
  • JSON response valid
  • Error 500 hilang
  • Workflow OJS stabil

5. Kenapa error ini sering terjadi di shared hosting?

Karena kombinasi:

  • PHP versi lama/tidak cocok
  • resource server terbatas
  • caching agresif
  • plugin tidak terkontrol

Leave a Reply

Your email address will not be published. Required fields are marked *