AJAX - XMLHttpRequest

XMLHttpRequest အချက်အလက် အက်ဥပဒေ အချက်အလက် အက်ဥပဒေ

အက်ဥပဒေ အချက်အလက် ပေးပို့ရန်

အက်ဥပဒေ အချက်အလက် ပေးပို့ရန် အခြား open() နှင့် send() အမှု

xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
方法 ဖော်ပြ
open(method, url, async)

အချက်အလက် အမှုကို အချက်အလက်

  • method:အချက်အလက် အမှုကို အချက်အလက်
  • url:အက်ဥပဒေ သို့မဟုတ် ဖိုင် အချက်အလက်
  • async:true(အတူတကွ)သို့မဟုတ် false(အတူတကွ)
send() GET အမှု အခြား
send(string) အချက်အလက်များ ပေးပို့ရန် အခြား

GET သို့မဟုတ် POST?

GET အမှု အခြား

သို့သော် အော်

  • အချက်အလက်များ အသုံးပြုသည့် အချက်အလက်များ အသုံးပြုရန် အခြား
  • အသုံးပြုသူက ပေးပို့ရသော အချက်အလက်များ အများဆုံး
  • အသုံးပြုသူ၏ အချက်အလက်များကို ပေးပို့ရန် အသုံးပြုသည့် အချက်အလက်များ ကို ပေးပို့ရန် အခြား

GET အချက်အလက်များ

အကယ်၍ GET အချက်အလက်များကို ပေးပို့ရန် အခြား

实例

xhttp.open("GET", "demo_get.asp", true);
xhttp.send();

亲自试一试

အထူးသဖြင့် အပြင်းအထန်သော အချက်အလက်များကို ပေးပို့ရန် အခြား

实例

xhttp.open("GET", "demo_get.asp?t=" + Math.random(), true);
xhttp.send();

亲自试一试

GET အမှုကို သုံးပြီး အချက်အလက်များကို ပေးပို့ရန် အဲ့

实例

xhttp.open("GET", "demo_get2.asp?fname=Bill&lname=Gates", true);
xhttp.send();

亲自试一试

POST အချက်အလက်များ

အကယ်၍ POST အချက်အလက်များကို ပေးပို့ရန် အခြား

实例

xhttp.open("POST", "demo_post.asp", true);
xhttp.send();

亲自试一试

HTML ပုံစံအသုံးပြု၍ POST အချက်အလက်များကို ပေးပို့ရန် အော် setRequestHeader() HTTP အ�处头အရာတစ်ခု ထပ်ပေးပါ၊ အရာမှာ send() လုပ်သုံးခြင်းတွင် သင်သူက ပေးပို့ရသော အချက်အလက်များကို ရည်ညွှန်းထားသည့်အပြင်

实例

xhttp.open("POST", "ajax_test.asp", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fname=Bill&lname=Gates");

亲自试一试

方法 ဖော်ပြ
setRequestHeader(header, value)

HTTP အချိန် အချိန် ဖိုင် ဖြင့် အစီအစဉ် ပြုလုပ်

  • headerအချိန် အချိန်
  • valueအချိန် အချိန်

url အခြေခံ အုပ်ချုပ် အချိန် တွင် လုပ်ဆောင် ရန် ဖိုင်

open() အမှု url အခြေခံ အုပ်ချုပ် အချိန် တွင် လုပ်ဆောင် ရန် ဖိုင် အချိန် ဖြစ်သည်

xhttp.open("GET", "ajax_test.asp", true);

သို့သော် အဆိုပါ ဖိုင် အမျိုးအစား မည်သည် ဖြစ်ကြောင်း မရှိ။ အဆိုပါ ဖိုင် အမျိုးအစား အချက်အလက် အချက်အလက် ဖြစ် သည် ဖြစ် သည် သို့မဟုတ် .txt နှင့် .xml ကဲ့သို့ အခြား ဖိုင် အမျိုးအစား ဖြစ် သည် သို့မဟုတ် .asp နှင့် .php ကဲ့သို့ အခြား ဖိုင် အမျိုးအစား ဖြစ် သည် ဖြစ် သည် သို့မဟုတ် ဖြိုးဖြူး အခြေခံ အုပ်ချုပ် အချိန် တွင် လုပ်ဆောင် ရန် အခြေခံ အုပ်ချုပ် ဖြစ် သည်

true သို့မဟုတ် false ဖြစ်သည်

အခြား ပေါင်းစပ် တင်ချက် လုပ်ရန်open() နှင့် async အခြေခံ အုပ်ချုပ် အချိန် တွင် ပြင်ဆင် ရန် true

xhttp.open("GET", "ajax_test.asp", true);

ပေါင်းစပ် တင်ချက် လုပ်ရန် လူမှု အသုံးပြုထားသည် သည် ဝီကီ ပေါ် လူမှု အသုံးပြုထားသည် အထက် အကျွံ ကြီး ဖြစ်သည်။ ဝီကီ အတိုင်း အခြေခံ အုပ်ချုပ် အသုံးပြုခဲ့ သော အခါ အကျွံ ကြီး အချိန် အတွင်း လုပ်ဆောင် ရန် အခြေခံ အုပ်ချုပ် ဖြစ်နိုင် ပါသည်။

အခြား ပေါင်းစပ် တင်ချက် လုပ်ရန် အခြေခံ အုပ်ချုပ် အသုံးပြု၍ လက်ခံ လိမ့်မယ်

  • တင်ချက် ပြည့်ပြီး အခြေခံ အုပ်ချုပ် မရှိ သော အခါ အခြား အယူအယွန် တင်ချက် လုပ်ဆောင်
  • တင်ချက် ဖြစ်ပေါ်လာသော အခါ ပြုလုပ်

onreadystatechange အကို

XMLHttpRequest အား အစီအစဉ် တစ်ခု အသုံးပြု၍ တင်ချက် ခံစာ ချိန် တွင် လုပ်ဆောင် ရန် အခြေခံ အုပ်ချုပ် ပြုနိုင်ပါသည်

XMLHttpRequest အား ပြည့်ပြီး အောင်မြင် ဖြစ်သော အခါ ဖြစ်သည် onreadystatechange ပုံစံ တွင် အသုံးပြုထားသော

实例

xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demo").innerHTML = this.responseText;
  }
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();

亲自试一试

နောက်ဆုံးအချိန် အခန်း များ တွင် onreadystatechange နှင့် ပတ်သက်၍ ပိုမိုကောင်းပြီး သုံပြီး သိရှိပါလိမ့်မယ်

ပေါင်းစပ် တင်ချက်

အပြည့်အထား ပေါင်းစပ် တင်ချက် လုပ်ရန် ကျွန်ုပ်ကို ကိုယ်စားပြုသည် open() 方法中的第三个参数设置为 false

xhttp.open("GET", "ajax_info.txt", false);

有时 async = false 用于快速测试。你也会在更老的 JavaScript 代码中看到同步请求。

由于代码将等待服务器完成,所以不需要 onreadystatechange 函数:

实例

xhttp.open("GET", "ajax_info.txt", false);
xhttp.send();
document.getElementById("demo").innerHTML = xhttp.responseText;

亲自试一试

我们不推荐同步的 XMLHttpRequest (async = false),因为 JavaScript 将停止执行直到服务器响应就绪。如果服务器繁忙或缓慢,应用程序将挂起或停止。

အဆိုပါ အဆိုပါ အကူအညီ အရာဝတ္တု ကို ဝတ္တု အခြေခံအချက်အလက် မှ ဖယ်ရှားခြင်း ကို ဖြိုဖျက်ခြင်း ဖြစ်ပါသည်။ သို့သော် ထိုအခြေခံအချက်အလက် ဖယ်ရှားခြင်း အတွက် အချိန် အများကို လိုသည်။

သန်းကြွင်း အကူအညီ အရာဝတ္တု အသုံးပြုခြင်း ကို ခြေရာခံခြင်း ကို ကျွန်ုပ် ကျပ်ထုတ်ချက်ပေးသည်။ ထို့ပြင် ထိုအခြေခံအချက်အလက် ဖြစ်ပါက InvalidAccessError အကျိုးသက် ဖြစ်ပေါ်နိုင်ပါသည်။