AJAX - XMLHttpRequest 对象
- Kuu AJAX 简介
- Pya Mwongozo wa AJAX
XMLHttpRequest 对象是 AJAX 的基石。
- Kuanzisha kinaingia ya XMLHttpRequest
- Kufaa kifaa kinachotumika kama kinaingia
- 打开 XMLHttpRequest 对象
- 向服务器发送请求
Kinaingia ya XMLHttpRequest
所有现代浏览器都支持 Kinaingia ya XMLHttpRequest.
XMLHttpRequest 对象可用于在后台与 Web 服务器交换数据。这意味着可以更新网页的部分内容,而无需重新加载整个页面。
Kuanzisha kinaingia ya XMLHttpRequest
Vifaa vya kikabila vya kidunia vya kuzioa (Chrome, Firefox, IE, Edge, Safari, Opera) wamejua kinaingia ya XMLHttpRequest kwa sababu ya kinaingia. Kinaingia ya XMLHttpRequest.
Muundo wa kuanzisha kinaingia ya XMLHttpRequest:
variable = new XMLHttpRequest();
Kufaa kifaa kinachotumika kama kinaingia
Kifaa kinachotumika kama kinaingia ni kifaa kinachotumika kama kinaingia kinachotumika kama kinaingia kinachotumika kama kinaingia.
Kama hiki ni kesi, kifaa kinachotumika kama kinaingia kinahitaji kufaa kifaa kinachotumika kama kinaingia kinahitaji kufaa kifaa kinachotumika kama kinaingia.
xhttp.onload = function() { // Kwa sababu ya kwenda kufikia kwa kinaingia, kifaa kinachotumika kama kinaingia kinahitaji kufaa kifaa kinachotumika kama kinaingia. }
Kumwambia tafuta
Kama unataka kumwambia tafuta kwa sababu ya kikosi, unaweza kutumia kinaingia ya XMLHttpRequest kwa sababu ya kinaingia. open()
na send()
Muundo:
xhttp.open("GET", "ajax_info.txt"); xhttp.send();
Mifano
// Kuanzisha kinaingia ya XMLHttpRequest const xhttp = new XMLHttpRequest(); // Kufaa kifaa kinachotumika kama kinaingia xhttp.onload = function() { // Unaweza kutumia data hapa } // Kuwakilisha tafuta xhttp.open("GET", "ajax_info.txt"); xhttp.send();
Uhusiano kwa kikosi chenye jina tofauti (Access Across Domains)
Kwa sababu ya usalama, vifaa vya kikabila wa kidunia hazivumea kupata uhusiano kwa kikosi chenye jina tofauti.
Hii inamaanisha sayari na faili ya XML inayotafuta lazima iwe kwenye kikosi kimoja.
Mivuno ya CodeW3C.com inatokana na faili ya XML yenye kikosi CodeW3C.com.
Kama unataka kutumia mivuno ya juu kwenye sayari yako moja, faili ya XML inayotukua lazima iwe kwenye server yako mwenyewe.
Muundo wa XMLHttpRequest kwa sababu ya kinaingia.
Muundo | Maelezo |
---|---|
new XMLHttpRequest() | Kumengeneza kinaingia ya XMLHttpRequest kipya. |
abort() | Inosikitisha tafuta hivi karibuni. |
getAllResponseHeaders() | Inatoa ujumbe wa kipimo cha kikosi. |
getResponseHeader() | Inatoa ujumbe wa kipimo cha kikosi kinachotumika. |
open(method, url, async, user, psw) |
Inadai tafuta.
|
send() | Kuzingiza tafuta kwa sababu ya tafuta GET. |
send(string) | Kuzingiza tafuta kwa sababu ya tafuta POST. |
setRequestHeader() | Kungawezesha kuingiza kipimo/kitambaa cha kipendekezo cha kuzingiza. |
Mimeno ya XMLHttpRequest kwa sababu ya kinaingia.
Mfano | Maelezo |
---|---|
onload | Kufaa kifaa kinachotumika kama inapokwenda kumwambia tafuta. |
onreadystatechange | Kufaa kifaa kinachotumika kama kinaanza kubadilika kinaingia kwenye hali ya readyState. |
readyState |
Hifadhi hali ya XMLHttpRequest
|
responseText | Inarudi data ya jibu kama stringi |
responseXML | Inarudi data ya XML kwa jibu |
hali |
Inaonyesha namba hali ya msaada wa angeuza
Kwa kufikia orodha kuu, tazama Kikili cha Http Message Reference |
statusText | Inarudi ujumbe wa hali (kama "Sawa" au "Haiwafikia") |
Mfano ya onload
Kwa kumtumia XMLHttpRequest, inaweza kufanya kifunzi cha kikao cha kina inayotumika kwa kumfanya kila mara jibu linaunda
Tafadhali tukufanya kifunzi kwenye kifaa XMLHttpRequest onload
Kifunzi hiki kinadefini kwenye
Mifano
xhttp.onload = function() { document.getElementById("demo").innerHTML = this.responseText; } xhttp.open("GET", "ajax_info.txt"); xhttp.send();
Mfano wa kikao cha kina zaidi
Kama kuna msaada wa AJAX zaidi kwenye tovuti, lazima kujue kifunzi cha inayofanya XMLHttpRequest kwa kila kazi AJAX na kujue kifunzi cha kikao cha kina kwa kila kazi AJAX
Inafikia kwa kufanya kwa kikao cha kina URL na kifunzi cha inayotumika kwa kumfanya kila mara jibu linaunda
Mifano
loadDoc("url-1", myFunction1); loadDoc("url-2", myFunction2); function loadDoc(url, cFunction) { const xhttp = new XMLHttpRequest(); xhttp.onload = function() {cFunction(this);} xhttp.open("GET", url); xhttp.send(); } function myFunction1(xhttp) { // Hii ni kikao cha kina } function myFunction2(xhttp) { // Hii ni kikao cha kina }
Mfano ya onload
readyState
Mfano hifadhi hali ya XMLHttpRequest
onreadystatechange
Mfano inadefini kifunzi cha kuleta msaada kila mara hali ya readyState inapungua
hali
Mfano na statusText
Mfano hifadhi hali ya kifaa XMLHttpRequest
Mfano | Maelezo |
---|---|
onreadystatechange | Inadefini kifunzi cha inayotumika kwa kumfanya kila mara hali ya readyState inapungua |
readyState |
Hifadhi hali ya XMLHttpRequest
|
hali |
Inaonyesha namba hali ya msaada wa angeuza
Kwa kufikia orodha kuu, tazama Kikili cha Http Message Reference |
statusText | statusText |
Inarudi ujumbe wa hali (kama "OK" au "Haijafoundiwa").
Kila mara inachangia readyState itakuwa inatumiwa kikamilifu kwa tukio onreadystatechange. 4
na status ni 200
Kwa sababu ya uharibifu wa jibu:
Mifano
function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.responseText; } }; xhttp.open("GET", "ajax_info.txt"); xhttp.send(); }
Tukio onreadystatechange linaathiriwa mara nne (1-4), kila mara inachangia readyState mara moja.
- Kuu AJAX 简介
- Pya Mwongozo wa AJAX