Gambar Tidak Berubah Saat Di Load Ajax

Belum lama saya ada masalah di koding soal gambar yang kita dapet dari proses ajax dan disimpan di server lalu ditampilkan di halaman depan secara dinamik. Saat dijalankan dengan Chrome, si gambar muncul dengan baik, sesuai gambar terakhir dari response si ajax. Namun berbeda ketika dijalankan di firefox, gambar tidak berubah, tidak diganti dari gambar terakhir hasil response si ajax.

Jadi alurnya saat kita tekan tombol “YA”, si ajax jalan ngakses data dari website orang lain. Disisi server yang dijalankan si ajax, ada proses untuk menyimpan data image / gambar ke folder aplikasi saya. Lalu, setelah dikembalikan di sisi depan, saya panggil gambar tersebut. Tambahan lagi, nama gambar selalu sama, asumsinya, gambar terakhir akan ditimpa oleh gambar baru dengan tujuan menghemat kapasitas di aplikasi.

Pikir saya, ajax-nya gak bener atau gambar tidak ke simpen ke folder aplikasi. Namun, setelah di cek si ajax jalan bener dan gambar yang di simpen juga bener. Terus kenapa nih gambar tidak berubah yak. Saya pikir lagi, mungkin ke cache sama firefox, jadi dia tidak mau ngubah gambar lagi. Tapi setelah setting nge-OFF cache di firefox, tetep tidak berubah tuh gambar.

Setelah nge-cek sana sini ternyata ada trik khusus untuk handle masalah ini. Caranya bagaimana ??
Caranya mudah, saat memanggil gambarnya, tambahkan tanda tanya, lalu variable apa saja yang beda.

1
2
d = new Date();
$("#myimg").attr("src", "/myimg.jpg?"+d.getTime());

Daaarrrr, bisa ternyata…3 jam-an cuman ngutak-atik gini doank..

Trik itu saya dapat di stackoverflow disini.

Daaan moga catetan ini keinget terus atau bisa bantu temen-temen klo ngalamin hal serupa 🙂

One comment

Leave a Reply

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

%d bloggers like this: