Akhirnya aku belajar memanfaatkan Ajax, untuk aplikasi berbasis web. Sebenarnya sudah lama pengen ngoprek, dan memanfaatkan kehebatan teknologi ini, tapi karena terlalu sibuk, ampe gak sempat.
Untunglah, ada Ko' Dedi yang rajin, aku tinggal contek dan pelajari aja script itu. Script ajax pertama ini kupakai di website pribadiku, dan masih cukup sederhana. Intinya cuma mengambil content dari server saat ada trigger (menu di-klik), dan langsung menampilkan hasil yang di terima ke tempat tertentu (DIV). Aku belum sampai belajar memproses parsing data yang cukup kompleks, dalam format XML ataupun format lainnya.
Untunglah, ada Ko' Dedi yang rajin, aku tinggal contek dan pelajari aja script itu. Script ajax pertama ini kupakai di website pribadiku, dan masih cukup sederhana. Intinya cuma mengambil content dari server saat ada trigger (menu di-klik), dan langsung menampilkan hasil yang di terima ke tempat tertentu (DIV). Aku belum sampai belajar memproses parsing data yang cukup kompleks, dalam format XML ataupun format lainnya.
----// deklarasi variabel global var http = createRequestObject(); // untuk manampung http request .. langsung dibuat var objRefresh = 0; var isBusy = false; var x=0; var busyText = "Loading data, please wait ... "; // fungsi ini digunakan untuk membentuk objek http request, terlebih dulu memeriksa // jenis browser, karena tiap browser (khususnya IE) punya cara tersendiri function createRequestObject() { var ro; var browser = navigator.appName; if(browser == "Microsoft Internet Explorer") { try { ro = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { ro = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { ro = false; } } } else // on every other browser, we can directly create a new XMLHttpRequest object { try { ro = new XMLHttpRequest(); } catch (failed) { ro = false; } } if (!ro) alert("Error initializing XMLHttpRequest!"); else return ro; } // createRequestObject // fungsi menampilkan data yang diterima dari request ke server function showData(){ if(http.readyState == 4) { var response = http.responseText; if (response.charAt(0)==0) { // jika nilainya kosong, kadang ada karakter NULL response = http.responseText.substring(2); } // tampilkan data var info = document.getElementById("content"); info.innerHTML = response; } } var currObj = ""; // fungsi untuk melakukan pemanggilan data function getData(nama) { /* ini dipakai jika proses akan dilakukan secara periodik //if (objRefresh) clearTimeout(objRefresh); // ini //objRefresh = setTimeout("getData()", 900000); */ if (!isBusy) { currObj = "id_" + nama; isBusy = true;
// jika tidak dalam kondisi sibuk, lakukan request ke server, sesuai halaman yang melakukan proses http.open("get", "index.php?getData="+nama,true); http.onreadystatechange = showData; // memanggil fungsi yang akan menampilkan data (INGAT: jangan pakai parameter, bisa error :( ) http.send(null); isBusy = false; } } //getData
Comments