⊗jsSpAXFt 244 of 294 menu

AJAX ရှိ fetch နှင့် အလုပ်လုပ်ခြင်းအခြေခံများ

AJAX ကို အသုံးပြု၍ ဝဘ်စာမျက်နှာ၏ အစိတ်အပိုင်းတစ်ခုကို မည်သို့တင်ရမည်ကို ယခု ကြည့်ကြပါစို့။ ကျွန်ုပ်တို့၏ စာမျက်နှာ index.html တွင် div တစ်ခုနှင့် ခလုတ်တစ်ခု တည်ရှိပါစေ (ဤနေရာတွင် body ၏ အကြောင်းအရာကို ပြသထားသည်)။

<div></div> <button>click me</button>

ကျွန်ုပ်တို့တွင် ajax.html စာမျက်နှာလည်း ရှိပါစေ၊ ၎င်းတွင် အတွဲသုံးခု တည်ရှိသည် (စာမျက်နှာ tag များမပါ၊ ရိုးရိုးအတွဲများသာ)။

<p>1</p> <p>2</p> <p>3</p>

�လုတ်ကို နှိပ်လိုက်သောအခါ index.html စာမျက်နှာရှိ div ထဲသို့ ajax.html စာမျက်နှာ၏ အကြောင်းအရာများ လာရောက်တင်သည်အထိ ပြုလုပ်ကြပါစို့။

ဤအတွက် အရင်ဆုံး ကျွန်ုပ်တို့၏ element များဆီသို့ လင့်ခ်များကို variable များထဲတွင် ရယူကြပါစို့။

let div = document.querySelector('div'); let button = document.querySelector('button');

ခလုတ်ပေါ်တွင် ကလစ်ဖြစ်ရပ်တစ်ခု ထည့်ကြပါစို့။

button.addEventListener('click', function() { // ဤနေရာတွင် AJAX တောင်းဆိုချက်ကို လုပ်ဆောင်ပါမည် });

ယခု AJAX တောင်းဆိုချက်ကို လုပ်ဆောင်ကြပါစို့။ ဤအတွက် fetch function ကို အသုံးပြုပါသည်၊ ၎င်းသည် ကျွန်ုပ်တို့ရယူလိုသော အကြောင်းအရာရှိသည့် စာမျက်နှာ၏ လိပ်စာကို parameter အဖြစ် လက်ခံပါသည်။ ကျွန်ုပ်တို့၏ ဆာဗာပေါ်ရှိ ajax.html စာမျက်နှာ၏ လိပ်စာကို ထည့်သွင်းပါ။

button.addEventListener('click', function() { let result = fetch('/ajax.html'); });

fetch သည် ၎င်း၏ရလဒ်အဖြစ် promise ကို ပြန်ပေးပါလိမ့်မည်။ အကြောင်းမှာ AJAX မှတစ်ဆင့် စာမျက်နှာတောင်းဆိုခြင်းသည် asynchronous လုပ်ဆောင်ချက်တစ်ခု ဖြစ်သောကြောင့်ဖြစ်သည်၊ အဘယ့်ကြောင့်ဆိုသော် စာမျက်နှာက ကျွန်ုပ်တို့အာ�ု ပြန်ဖြေရန် အချိန်အနည်းငယ် ကြာမြင့်ပါလိမ့်မည်။

Promise ၏ရလဒ်ကို ရယူကြပါစို့။

button.addEventListener('click', function() { let promise = fetch('/ajax.html'); promise.then(function(response) { // ဆာဗာ၏အဖြေသည် response variable တွင် တည်ရှိသည် }); });

မလိုအပ်သော variable ကို ဖယ်ရှားခြင်းဖြင့် ရိုးရှင်းအောင်ပြုလုပ်ပါ။

button.addEventListener('click', function() { fetch('/ajax.html').then(function(response) { }); });

မြှားပုံစံ function ကို အသုံးပြု၍ ရိုးရှင်းအောင်ပြုလုပ်ပါ။

button.addEventListener('click', function() { fetch('/ajax.html').then(response => { }); });

ပိုမိုဖတ်ရလွယ်သော ပုံစံဖြင့် ကိုယ်စားပြုပါ။

button.addEventListener('click', function() { fetch('/ajax.html').then( response => { } ); });

Variable response ထဲတွင် Response class ရှိ object တစ်ခု လုံလောက်စွာ ရှုပ်ထွေးနေသည်။

button.addEventListener('click', function() { fetch('/ajax.html').then(response => { console.log(response); // Response class ၏ object }); });

ဤ object ကို နက်နက်နဲနဲ ကျွန်ုပ်တို့ လေ့လာပါမည်၊ ယခုအတွက် အရှင်းဆုံးကို ရယူရန် လိုအပ်သည် - တောင်းဆိုထားသော စာမျက်နှာ၏ စာသားကို ရယူပါ။ ဤအတွက် ဤ object ထဲတွင် text method တစ်ခု တည်ရှိသည်။ သို့သော် ဤ method သည် စာမျက်နှာ၏ စာသားကို ပြန်မပေးဘဲ၊ ၎င်း၏စာသားပါသော promise ကို ပြန်ပေးပါသည်။

button.addEventListener('click', function() { fetch('/ajax.html').then( response => { console.log(response.text()); // Promise ကို ပြသပါလိမ့်မည် } ); });

စာမျက်နှာ၏ စာသားဆီသို့ ရောက်ရှိရန်၊ response.text မှ ရရှိသော promise ကို နောက်ထပ်တစ်ကြိမ် ကိုင်တွယ်ရန် လိုအပ်သည်။

button.addEventListener('click', function() { fetch('/ajax.html').then( response => { return response.text(); } ).then( text => { console.log(text); // စာမျက်နှာ၏ စာသား } ); });

ထို့ကြောင့်၊ ကျွန်ုပ်တို့သည် နောက်ဆုံးတွင် တောင်းဆိုထားသော စာမျက်နှာ၏ စာသားကို ရရှိပြီး၊ ဥပမာအားဖြင့် ၎င်းကို ကျွန်ုပ်တို့၏ div ထဲသို့ ရေးသားနိုင်ပါသည်။

button.addEventListener('click', function() { fetch('/ajax.html').then( response => { return response.text(); } ).then( text => { div.innerHTML = text; } ); });

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

�ာဗာပေါ်တွင် စာမျက်နှာငါးခု ရှိပါစေ။ ခလုတ်ကို ပထမအကြိမ် နှိပ်ခြင်းသည် ပထမစာမျက်နှာကို တင်ပြီး၊ ဒုတိယအကြိမ် နှိပ်ခြင်းသည် ဒုတိယစာမျက်နှာကို တင်သည်အထိ၊ စာမျက်နှာများ ကုန်ဆုံးသည်အထိ ပြုလုပ်ပါ။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်