Ajax tidak langsung menghasilkan response ketika di web hosting

Halo, ada yang mau saya tanyakan tentang ajax.

Saya mempunyai aplikasi web dengan framework CODEIGNITER yang CRUD nya menggunakan JQUERY AJAX. Ketika masih develop di localhost ajax berjalan dengan sempurna, tetapi setelah saya upload ke web hosting tidak berjalan semestinya, lebih tepatnya hanya saat READ (tampil data) memanggil function json dari database dan data tidak langsung muncul. Tapi saat direload page berulang-ulang kadang muncul.

Berikut script View, Controller, dan Modelnya.

View

// SUBMIT
    $('#formBarcode').submit(function(e){
      e.preventDefault();
      var id = $('#idBarang').val();

      if (id == '') {
        alertGagalTambah();
      } else {
        $.ajax({
          url: '<?= site_url('persediaan/cetak_pricetag/tambah') ?>',
          type: 'post',
          data: $(this).serialize(),
          success: function(){
            sndAdd();
            tampilData();
            $('#barcode').focus();
            $('#formBarcode').trigger('reset');
          }
        });
      }
    });
// TAMPIL DATA
  function tampilData()
  {
    $.ajax({
      url: "<?= site_url('persediaan/cetak_pricetag/tampil_data') ?>",
      async : false,
      dataType : 'json',
      success: function(data){
        if (data != '') {
          var html = '';
          var i;
          for(i=0; i<data.length; i++){
            html += '<tr>'+
                      '<td class="text-center">'+
                        '<a href="javascript:void(0)" title="Cetak" class="text-muted mr-3 font-size-15" id="btnCetak" data-id="'+data[i].id_pricetag+'" data-barcode="'+data[i].barcode_barang+'"><i class="fas fa-print"></i></a>'+
                        ' '+
                        '<a href="javascript:void(0)" title="Hapus" class="text-muted font-size-15" id="btnHapus" data-id="'+data[i].id_pricetag+'"><i class="far fa-trash-alt"></i></a>'+
                      '</td>'+
                      '<td>'+data[i].barcode_barang+'</td>'+
                      '<td>'+data[i].nama_barang+'</td>'+
                      '<td class="text-right">Rp '+$.number(data[i].harga_eceran_barang, 2)+'</td>'+
                      '<td class="d-flex justify-content-center">'+
                        '<div class="input-group input-group-sm" style="width: 100px;">'+
                          '<input type="text" value="'+data[i].jumlah_pricetag+'" class="spin" id="spin'+data[i].id_pricetag+'" style="text-align: center;" data-id="'+data[i].id_pricetag+'">'+
                        '</div>'+
                      '</td>'+
                    '</tr>';
          }
          $('#tampilData').html(html);
        } else {
          html = '<tr>'+
                  '<td colspan="5" class="text-center">Tidak ada data</td>'+
                 '</tr>';
         $('#tampilData').html(html);
        }
      }
    });
    $('.spin').TouchSpin({min: 1, max: 10000});
  }

Controller

public function tampil_data()
	{
		$data = $this->cetak_pricetag_m->tampil_data()->result();
		echo json_encode($data);
	}

Model

function tampil_data()
  {
    $user = $this->fungsi->user_login()->id_user;
    $this->db->from('cetak_pricetag');
    $this->db->join('barang', 'barang.id_barang = cetak_pricetag.id_barang_pricetag', 'left');
    $this->db->where('id_user_pricetag', $user);
    $query = $this->db->get();
    return $query;
  }

InterfaceTampilan, ketika diklik icon "search" untuk submit

Ketika submit akan melakukan tambah data ke database dengan ajax (untuk ini berjalan normal). Dan setelah sukses akan meload function "tampilData".

Tetapi ketika function "tampilData" terpanggil tidak "langsung" mendapat response, hanya "[]".

Hasil Response kosong "[]"

image.png

Dan ketika saya reload berulang-ulang atau menunggu beberapa dan melakukan submit baru bisa muncul.

Yang jadi pertanyaan saya kepada teman-teman, apakah ada yang salah dalam setting hostingnya (karena di localhost beralan sempurna) atau ada salah dalam codenya?

Respon teman-teman sangat membantu saya. Terima kasih banyak :D

avatar donnyanggaraputra_google
@donnyanggaraputra_google

3 Kontribusi 1 Poin

Diperbarui 3 tahun yang lalu

3 Jawaban:

<div>Coba fungsi tampilData nya jadi asynchronous, async nya ubah jadi true</div>

avatar ahanafi
@ahanafi

815 Kontribusi 552 Poin

Dipost 3 tahun yang lalu

<div>coba ubah</div><pre>url: '&lt;?= site_url('persediaan/cetak_pricetag/tambah') ?&gt;'</pre><div>menjadi</div><pre>url: "&lt;?= site_url('persediaan/cetak_pricetag/tambah') ?&gt;"</pre>

avatar dikisiswanto
@dikisiswanto

4 Kontribusi 5 Poin

Dipost 3 tahun yang lalu

<div>Maaf telat respon teman2, sebelumnya terima kasih buat teman2 yang udah membantu menjawab :)<br>dari semua jawaban teman2 sudah saya coba dan tidak berhasil, tetapi saat saya coba menambahkan type: 'post' di function tampilData itu berhasil :D tetapi sebelum2nya itu tidak terlalu berpengaruh mau pakai type atau tidak. Mungkin dari teman2 ada yang tau penyebabnya :D<br><br>Sekali lagi terima kasih banyak!</div>

avatar donnyanggaraputra_google
@donnyanggaraputra_google

3 Kontribusi 1 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban