XML Http တောင်းဆိုချက်
ခေတ်မီဘရောက်ဆာများအားလုံးတွင် ဆာဗာတစ်ခုမှဒေတာတောင်းခံရန် XMLHttpRequest object တစ်ခုရှိသည်။
XMLHttpRequest Object
ဝဘ်ဆာဗာတစ်ခုမှဒေတာတောင်းဆိုရန် XMLHttpRequest အရာဝတ္တုကို အသုံးပြုနိုင်သည်။
XMLHttpRequest object သည် developer များ ၏ အိပ်မက် ဖြစ်သည် ၊ အဘယ်ကြောင့်ဆိုသော် သင် လုပ်နိုင်သည် ၊
- စာမျက်နှာကို ပြန်မတင်ဘဲ ဝဘ်စာမျက်နှာကို အပ်ဒိတ်လုပ်ပါ။
- စာမျက်နှာကို တင်ပြီးနောက် ဆာဗာတစ်ခုမှ ဒေတာကို တောင်းဆိုပါ။
- စာမျက်နှာကို တင်ပြီးနောက် ဆာဗာတစ်ခုမှ ဒေတာကို ရယူပါ။
- နောက်ခံတွင် ဆာဗာသို့ ဒေတာပို့ပါ။
XMLHttpRequest ဥပမာ
အောက်ဖော်ပြပါ ထည့်သွင်းအကွက်တွင် စာလုံးတစ်လုံးကို ရိုက်ထည့်သောအခါ၊ XMLHttpRequest ကို ဆာဗာသို့ ပေးပို့ပြီး အချို့သော အမည်အကြံပြုချက်များကို ပြန်လည်ပေးပို့သည် (ဆာဗာမှ)
ဥပမာ
အထက်ဖော်ပြပါ ဥပမာအား ဤသင်ခန်းစာ၏ AJAX အခန်းများတွင် ရှင်းပြထားသည်။
XMLHttpRequest တစ်ခု ပေးပို့ခြင်း။
XMLHttpRequest အရာဝတ္တုကို အသုံးပြုခြင်းအတွက် အသုံးများသော JavaScript syntax သည် ဤကဲ့သို့ ဖြစ်သည်-
ဥပမာ
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "filename", true);
xhttp.send();
နမူနာရှင်းပြထားပါတယ်။
အထက်ဖော်ပြပါ ဥပမာရှိ ပထမစာကြောင်းသည် XMLHttpRequest object တစ်ခုကို ဖန်တီးသည်-
var xhttp = new XMLHttpRequest();
onreadystatechange ပိုင်ဆိုင်မှုသည် XMLHttpRequest အရာဝတ္ထု၏ အခြေအနေကို ပြောင်းလဲသည့် အခါတိုင်း လုပ်ဆောင်ရမည့် လုပ်ဆောင်ချက်ကို သတ်မှတ်သည်-
xhttp.onreadystatechange = function()
ReadyState ပိုင်ဆိုင်မှုသည် 4 ဖြစ်ပြီး အခြေအနေ ပိုင်ဆိုင်မှု သည် 200 ဖြစ်သောအခါ၊ တုံ့ပြန်မှုသည် အဆင်သင့်ဖြစ်သည်-
if (this.readyState == 4 && this.status == 200)
တုံ့ပြန်မှု စာသား ပိုင်ဆိုင်မှုသည် ဆာဗာတုံ့ပြန်မှုကို စာသားစာကြောင်းအဖြစ် ပြန်ပေးသည်။
ဝဘ်စာမျက်နှာကို အပ်ဒိတ်လုပ်ရန် စာသား စာကြောင်းကို သုံးနိုင်သည်-
document.getElementById("demo").innerHTML = xhttp.responseText;
ဤသင်ခန်းစာ၏ AJAX အခန်းများတွင် XMLHttpRequest object အကြောင်း သင်ပိုမိုလေ့လာနိုင်မည်ဖြစ်ပါသည်။
Internet Explorer ဗားရှင်းဟောင်းများ (IE5 နှင့် IE6)
Internet Explorer ဗားရှင်းဟောင်း (IE5 နှင့် IE6) သည် XMLHttpRequest အရာဝတ္တုကို မပံ့ပိုးပါ။
IE5 နှင့် IE6 ကိုကိုင်တွယ်ရန်၊ ဘရောက်ဆာသည် XMLHttpRequest အရာဝတ္တုကို ပံ့ပိုးခြင်းရှိမရှိ စစ်ဆေးပါ၊ သို့မဟုတ်ပါက ActiveXObject ကို ဖန်တီးပါ-
ဥပမာ
if (window.XMLHttpRequest) {
// code for modern browsers
xmlhttp = new XMLHttpRequest();
}
else {
// code for old IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}