Isi form otomatis

Saya sedang berlajar codeigniter 4 membuat form dan form tersebut ketika di klik kode pada list (select/option) maka keluar namanya setelah diconsole errornya seperti berikut:

GET http://localhost:8080/api/home/110 404 (Not Found) VM148:1 Uncaught (in promise) SyntaxError: Unexpected end of JSON input

untuk source tampilan

<div class="form-group col-3"> <label for="akun1">Nama Akuntansi</label> <select class="form-control" name="akun1" id="akun1"> <option value="" selected disabled>-- Silahkan pilih --</option> <?php foreach ($kode as $kade) : ?> <option value="<?= $kade['kode']; ?>" id="akun1"><?= $kade['kode']; ?></option> <?php endforeach ?> </select> <div id=" validationServer03Feedback" class="invalid-feedback"> <?= validation_show_error('akun1'); ?> </div> </div>

                        &lt;div class=&quot;form-group col-3&quot;&gt;
                            &lt;label for=&quot;deb1&quot;&gt;Debet&lt;/label&gt;
                            &lt;input type=&quot;text&quot; class=&quot;form-control &lt;?= (validation_show_error(&#039;deb1&#039;)) ? &#039;is-invalid&#039; : &#039;&#039;; ?&gt;&quot; id=&quot;deb1&quot; name=&quot;deb1&quot; placeholder=&quot;Isi jumlah debet&quot; value=&quot;&quot;&gt;
                            &lt;div id=&quot;validationServer03Feedback&quot; class=&quot;invalid-feedback&quot;&gt;
                                &lt;?= validation_show_error(&#039;deb1&#039;); ?&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;

controller API nya: <?php namespace App\Controllers\Api; use App\Models\KodeModel; use CodeIgniter\API\ResponseTrait; use CodeIgniter\RESTful\ResourceController; class Home extends ResourceController { use ResponseTrait; public function show($kd = null) { $model = new KodeModel(); $data = $model->find($kd);

    return $this-&gt;respond($data);
}

}

dan javascritnya <script> $('#akun1').on('change', (event) => { getCau(event.target.value).then(kode => { $('#deb1').val(kode.nama); }); });

    async function getCau(kd) {
        let response = await fetch(&#039;/api/home/&#039; + kd)
        let data = await response.json();
        return data;
    }
&lt;/script&gt;

Mohon pencerahannya kepada agan2 yg ada disini, Terimaksih sebelumnya

avatar taopikkusdinar
@taopikkusdinar

1 Kontribusi 0 Poin

Diperbarui 1 tahun yang lalu

Tanggapan

terlalu bastrak, bisa lihat gambarnya?

1 Jawaban:

Masalah yang Anda alami muncul karena permintaan AJAX ke URL http://localhost:8080/api/home/110 menghasilkan status 404 (Not Found), yang menyebabkan JavaScript mencoba untuk mem-parsing respons yang kosong sebagai JSON, dan ini menghasilkan kesalahan "Uncaught SyntaxError: Unexpected end of JSON input".

Untuk memperbaiki masalah ini, Anda perlu memastikan bahwa URL yang digunakan dalam permintaan AJAX adalah benar. Berikut beberapa langkah yang bisa Anda lakukan:

  1. Periksa URL dalam Permintaan AJAX: Pastikan bahwa URL &#039;/api/home/&#039; + kd yang digunakan dalam permintaan AJAX benar dan sesuai dengan rute yang Anda definisikan dalam controller CodeIgniter Anda. Pastikan juga bahwa kd adalah parameter yang valid.

  2. Periksa Rute di Controller CodeIgniter: Pastikan bahwa Anda memiliki rute yang sesuai dalam controller CodeIgniter Anda yang dapat menangani permintaan dengan URL tersebut. Rute ini harus cocok dengan parameter yang diharapkan.

  3. Periksa Controller dan Metodenya: Pastikan bahwa Anda memiliki controller Home dengan metode show yang sesuai dengan rute yang Anda tentukan. Pastikan juga bahwa controller ini dapat mengambil data yang diperlukan.

  4. Periksa Data yang Dikirimkan oleh Controller: Pastikan bahwa controller Anda mengirimkan data sebagai respons yang dapat diparsing sebagai JSON. Anda dapat menggunakan $this-&gt;respond($data, 200, &#039;application/json&#039;) dalam controller Anda untuk memastikan respons adalah JSON.

  5. Periksa Konfigurasi CodeIgniter: Pastikan konfigurasi CodeIgniter Anda, khususnya pengaturan terkait URL dan rute, telah diatur dengan benar.

Dengan memeriksa langkah-langkah ini, Anda dapat mengidentifikasi dan memperbaiki penyebab kesalahan "Unexpected end of JSON input" dalam permintaan AJAX Anda.

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban