Integrasi Ajax di CodeIgniter
Jquery merupakan salah satu ajax framework yang cukup populer. Daripada membangun sistem ajax dari awal (create from scratch), saya pribadi lebih suka untuk menggunakan jquery sebagai alternatif pembuatan sistem web bernuansa ajax. Setelah browsing cukup lama, mencari tutorial Jquery+CodeIgniter, ternyata cukup sulit untuk diimplementasikan. Akhirnya saya berhasil menemukan Pquery, PHP Class yang dirancang untuk memudahkan dalam penggunaan jquery.
Memang, Pquery bukanlah Class PHP yang dirancang khusus untuk CodeIgniter (silakan download file attachment pada akhir tulisan ini, PENTING!!!RENAME FILE TERSEBUT MENJADI BEREKSTENSI .ZIP SETELAH DIDOWNLOAD) . Namun, proses integrasinya di CI cukup sederhana. Saya akan berikan beberapa contoh penggunaannya.
Yang harus dilakukan pertama kali…
Agar semuanya bisa berjalan, pertama kali kita harus me-load Jquery.js pada bagian head halaman web kita.
Saya meletakkan file jquery.js pada folder javascript (di luar folder system, langsung di root).
Logikanya…
Logika pemanfaatan ajax di CI ini cukup simple (style saya). Pquery menyediakan fungsi-fungsi yang outputnya adalah fungsi javascript. Contohnya link_to_remote(). Fungsi ini akan menghasilkan link (url sama dengan yang kita definisikan) yang dibumbui dengan javascript (jquery) yang akan mengirimkan request secara asinkron (background request) dan akan memberikan output berupa respon dari server ke dalam elemen dom (diawali dengan #) yang kita definisikan. Jadi, ketika kita membuat link untuk menampilkan halaman profil, misalnya, logikanya adalah kita definisikan url ke suatu controller, dan controller tersebut kita rancang agar me-load halaman view profil ke dalam elemen dom yang juga kita definisikan.
Nah ini dia contohnya….
Pindahkan file pquery.php ke dalam application/libraries/, dan jangan lupa untuk meloadnya dalam controller yang digunakan ($this->load->library(‘pquery’)).
link_to_remote($name,$options,$html_options=null)
........... <!-- header dsb --> <? echo $this->pquery->link_to_remote( 'Home', array('url' => 'index.php/front/home', 'update' => '#posts' // elemen id ) ); ?> <div id='posts'> <!--output--> </div> ........... <!-- footer dsb -->
Pada controller…
function home() { $data = $this->postmodel->getRecentPost(); $this->load->view('main/home',$data); }
Cukup sederhana bukan? Anda belum jelas? Silakan berikan tanggapan. Mungkin saya bisa membantu Anda. Good luck, happy Coding!
File Attachment : Pquery._02.zip
Related posts:
- Membuat Combobox Dinamis dengan CI dan Ajax
- Ajax File Upload (CodeIgniter dan JQuery)
- Fungsi Javascript Sederhana untuk Mengakses Jquery di CI
- Redirect dengan Delay Time di CodeIgniter
- Simple Tutorial CodeIgniter Episode 2
17 Comments
Leave a comment
Recent Posts
Recent Comments
- LUKISAN MODERN on Sharing Script CI 1.7.2 untuk Sistem Informasi
- Wawan on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL
- chandra on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL
- nophil on Sistem Presensi dan Billing Sekolah
- yazid on Membuat Combobox Dinamis dengan CI dan Ajax
- faqih on Sharing Script CI 1.7.2 untuk Sistem Informasi
- rangga on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL
- reeyz on Membuat Website dengan CodeIgniter #1
- Rubby on Membuat Website dengan CodeIgniter #4
- Anggie on Membuat Website dengan CodeIgniter #1
- reeyz on Membuat Website dengan CodeIgniter #1
- Fajar on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL
- newbie2 on Ajax File Upload (CodeIgniter dan JQuery)
- newbie on Ajax File Upload (CodeIgniter dan JQuery)
- ardy on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL
- Tips Trik Blogging on Simple Tutorial CodeIgniter Episode 3
- Anggie on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL
- Manz on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL
- Manz on Membuat Combobox Dinamis dengan CI dan Ajax
- anggie on Share MyFinance : Aplikasi Keuangan Berbasis PHP MySQL



pquery tuh nantinya menGenerate javascript berupa jquery yah?
yups. Anda benar.
mas, mas punya referensi penerapan AJAX di codeigniter kaya suggest di google. Mohon referensi ya mas,,, makasi :)
@Rani : cek di sini aja, http://www.devbridge.com/projects/autocomplete/jquery/
mau tanya neh mas, klo bikin lightbox gallery foto di CI gimana yah mas, mungkin ada referensi.?
Untuk Lightbox, cek di http://leandrovieira.com/projects/jquery/lightbox/
klo implementasinya di CI, tentunya mudah jika Anda sudah menguasai PHP dan CI
mas pquerynya kok ga bisa didownload?
@antho : oh, maaf mas itu sudah lama sekali, maaf, skrg sudah saya edit tuh.
ato kunjungi http://www.ngcoders.com/resources
hehe makasih ya mas , nanti kalo sempat saya pengen coba” tutorial dari sampean .
maaf kalo sekiranya saya merepotkan :D
semoga Ilmu Anda bermanfaat dan mendatangkan Berkah , amin .
Iya mas sama”..amin,, makasih…
mas mo nanya, saya sekarang lage belajar kembangin web pake CI tapi saya ada kesulitan mo coba tampilkan halaman html yg sudah saya buat mau saya tampilkan pada sebuah div id di halaman web yang aktif tanpa me refresh seluruh halaman, saya coba menggunakan jquery tp gagal terus, lalu saya coba juga gunakan cara d atas gagal juga, file html yg ingin saya load saya letakkan di application/views.
mohon bantuannya……
cek include jquerynya mas…kemungkinan salah, di CI pake URL lengkap, jangan cuma path
udah say include jquery mas, iya ada kesalahan dengan pathnya coz yang saya panggil langsung nama filenya.
makasih mas…
Numpang nanya mas, kalo misalnya saya di CI mau panggil fungsi dari sebuah controller lain lwat controller utama gt, bisa ga yah?
Biasa kalo di controller yg sama kan kita tinggal pake $this->function(); buat call sebuah function lain dari Class yang sama. Kalo misalnya pake cara mirip-mirip itu mungkin kah?
Bagaimana dengan include()? Atau fungsi redirect dari CI, apakah redirect memanggil sebuah fungsi atau pindah full ke controller tersebut dan akhrinya akan membuat halaman refresh. (karena saya ingin menggunakan trik ini untuk AJAX request, jadi saya tidak ingin sampai merefresh seluruh page)
@Kevin : tidak bisa mas…CI itu MVC, jadi harusnya fungsi kek gitu ditaro di functions aja, ato helper…solusi : http://codeigniter.com/forums/viewthread/55212/
mas maunanya… kalau mau ngambil data misalnya index.php?id=1
nah kalau di CI, ngambil get itu gmana mas? soalnya ajax saya menggunakan metode get.. t
thanks :)
Klo pengen pake get sperti itu, coba baca http://codeigniter.com/user_guide/general/urls.html bagian “Enabling Query String”.
Klo menurut saya, ganti saja ajaxnya, pake url-lengkap, misal http://ex.com/controller/function/1
angka ’1′ bisa diambil pake