Menjamah AJAX

Writen by Funkshit
Akhirnya blog saya yang jelek ini terjamah juga oleh sebuah teknologi bernama ajax . Awal mulanya sih cuman iseng2 aja nyobain script2 yang dapet dari internet. Nah secara cuman iseng.. jadi ngga bisa2 n ngga ngerti2. Kemudian seorang temen bernama yudist berkata seperti ini "manusia akan keluar kemampuan sesungguhnya di saat dia berada dalam keadaan terdesak. jadi cari kerjaan yg pake ajax". nah, jadi kepikiran pasang di blog deh .. . .

Jadi .. apakah ajax itu. nich sepengetahuan saya aja. Ajax adalah teknik yang digunakan untuk membuat web yang interaktif. Jadi aplikasi web dapat melayani request data kemudian memproses nya di server tanpa harus pindah halaman atau reload.

ajax itu adalah kependekan dari Asynchronous JavaScript and XML. web yang menerapkan teknologi ajax akan memakai file javascript yang menggunakan API XMLHttpRequest untuk transfer data antara client dan server. data yang ditransfer bisa berupa text,xml, html atau json(json itu apa saya ngga ngerti ).

script paling sederhana untuk penerapan ajax kaya gini nich . . example nya klik disini sedangkan untuk source kodenya disini


function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}


itu fungsi untuk membuat objek baru, untuk IE menggunakan perintah new ActiveXObject("Microsoft.XMLHTTP") . sedangkan opera, mozila sama safari menggunakan new XMLHttpRequest().

file Html nya yang ditampilkan di halaman web kira2 sederhananya seperti ini

<div id=load> </div><br>
<input type=text id=nama name=nama value="">
<input type=button value=klik onclick="proses(Funkshit)">
<div id=handler_element>kiriman dari server tampil disini</div>


nah ceritanya gini nich.. si button itu di klik dan menjalankan fungsi javascript proses() dengan parameter yang berisi value dari element dengan id "nama". function proses() terdiri dari beberapa perintah ini :


function proses(nama)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}

var post="post_name="+nama;
var url="ajax.php";
url=url+"?get_name="+nama+"&sid="+Math.random();

xmlHttp.onreadystatechange=loading;
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.send(post);
}


xmlHttp.open("POST",url,true);
perintah ini untuk membuka koneksi ke url yang didefinisikan di variable "url" yaitu ajax.php beserta parameternya, dengan menggunakan method POST. parameter ketiga yaitu "true" artinya request akan di tangani secara asynchronus, yaitu script akan diproses sampe method send(), tanpa menunggu respon dari server terlebih dahulu. untuk menggunakan method GET, tinggal ganti parameter "POST" dengan "GET". variable sid yang value nya adalah nilai Math.Random() dimaksudkan agar File handler yang dituju benar2 melakukan rekuest keserver, bukan ke cache.

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
script ini untuk menambahkan http header. perintah diatas dibutuhkn jika akan mengirimkan data dengan method POST

xmlHttp.send(post);
script untuk mengirimkan request. variable post berisi variable2 post yang ingin dikirim. untuk method get, diisi null aja.

nah di function proses itu ada perintah xmlHttp.onreadystatechange=loading;. itu maksudnya saat keadaan berubah (state changes) dia akan memanggil fungsi loading().function loading nya sepeti ini


function loading()
{
if (xmlHttp.readyState==2){
document.getElementById("load").innerHTML="Loading...";
}
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("handler_element").innerHTML=xmlHttp.responseText ;
document.getElementById("load").innerHTML="";
}
}


keadaan ato state itu ada beberapa.. yaitu :
0 = uninitialized
1 = open
2 = sent
3 = receiving
4 = loaded

di fungsi loading() itu ceritanya untuk menganalisa keadaan yang sedang terjadi. saat state nya adalah 2 (data terkirim), div dengan id "load" akan menampilkan tulisan "loading". nah ketika state nya adalah 4 (selesai diproses), div dengan id "handler_element" akan menampilkn hasil response dari pengaksesan file_handler.php
php file handlernya yang paling sederhana adalah menampilkan variable GET ama POST nya aaja

<?
print_r($_GET);
echo "<br>";
print_r($_POST);
?>


done. Rikuwes sudah terkirim dan mengembalikan response berupa array dari variable POST dan GET nya PHP, tanpa perlu me load halaman php nya di browser.

Nah Teknologi ajax ini saya pasang di bagian guestbook nya. semoga ada waktu dan ada kemampuan untuk ngembangin lagi deh . CMIIW yach

referensi : Wiki


Artikel Terkait
| Install Xampp Tidak selalu lancar ternyata |


Komentar

1. Mbah Darmo
23 Juli 2007 04:26:47
Emang sih kang bener kata Yudhist, mahluk gede itu heheheh..
aku juga bisa gara gara terdesak hahahah =lol

dis judis... dibilang makhluk gede sampeyan.
sampeyan di smakc down tau rasa


2. Pije Jepir
23 Juli 2007 23:10:31
=fck =fck =fck emang sich yudhist makhluk gedenya luar biasa kogdia juga mengakuinya :):) :) :p

dis, judis.. ada korban yang mau di smek down lagi nich


3. Fajar
23 Juli 2007 23:12:52
Blognya ngga jelek kok jeng,.. buktinya pake ajax...:)

akh.. mas nya bisa aja menghibur nya


4. Fajar
23 Juli 2007 23:12:53
Blognya ngga jelek kok jeng,.. buktinya pake ajax...:)

lah ndouble toh jeng


5. PriyayiSae
24 Juli 2007 20:53:08
ajax dulu idolaku... tp ajax amsterdam, boy band, eh.. kleb sepakbola! ha32x!

chelsea donk.. chelsea olivia :P


6. U-This39
25 Juli 2007 04:43:07
=evil =evil =evil =evil =evil

mana yang minta di smack down???

tuh si jephir ma kang kiyat


7. ario dipoyono
25 Juli 2007 06:00:30
punya tutorialnya gak... mau dong

ada di mbah google


8. sandal
25 Juli 2007 13:28:49
tes ajah, kmaren ga bisa masuk.
kurang pelumas apa ya? :)

kurang keras


9. U-This39
15 Oktober 2007 02:11:42
duh.. pengen sinau AJAX ah...
telat yo ben...

aku diajari kang


10. idik

08 Februari 2008 15:01:29
keren! ajarin donk:)

ah saya memang keren kok


11. idik

09 Februari 2008 14:38:20

ah masa seh ngga ada.. coba cek lagi :)


12. gung de

26 April 2008 20:20:04
isi file text saya seperti ini
"Dans des quartiers très agréables et sécurisants sur la célèbre rive gauche, nos locations de vacances se trouvent au centre de Paris et à proximité du chef d'oeuvre de Gustave Eiffel, la Tour Eiffel."

Kok malah ketika ditampilin dengan AJAX malah menjadi seperti ini

"Dans des quartiers tr?agr?les et s?risants sur la c?bre rive gauche, nos locations de vacances se trouvent au centre de Paris et ?roximit?u chef d'oeuvre de Gustave Eiffel, la Tour Eiffel. "

Kenapa hal itu bisa terjadi?
Mohon bantuannya....

mungkin ngga suport karakter2 aneh kali ya . .

lagian. knapea seh musti pake bahasa prancis ?? Ajax itu kan klub dari belanda


13. atoeyz

06 Januari 2009 09:08:05
wiiiiww :) thx ya jeung ini yg gw cari heuheu.. :( tinggal gw ganti pk .gif keren kali ya.. =evil

lam kenal..

aduh.. syukurlah berguna


 

:) :D =huh =notsure =lol =fck =evil alien bunuh diri
Nama
Email
Website

B | I | U | S | Quote
 
 
 

Rss Syndication

Latest Article

 

 

Latest Comment