AJAX - ਸਰਵਰ ਪ੍ਰਤੀਕਿਰਿਆ
- ਪਿਛਲਾ ਪੰਨਾ AJAX ਰਿਕਾਰਡ
- ਅਗਲਾ ਪੰਨਾ AJAX XML ਫਾਈਲ
onreadystatechange 属性
ریدی اسٹیٹ
属性存留 XMLHttpRequest 的状态。
آنریڈی اسٹیٹ
属性定义当 readyState 发生变化时执行的函数。
اسٹیٹس
属性和 statusText
属性存有 XMLHttpRequest 对象的状态。
ਪ੍ਰਤੀਯੋਗਿਤਾ | ਵਰਣਨ |
---|---|
آنریڈی اسٹیٹ | 定义了当 readyState 属性发生改变时所调用的函数。 |
ریدی اسٹیٹ |
保存了 XMLHttpRequest 的状态。
|
اسٹیٹس |
如需完整列表,请访问 Http 消息参考手册 |
statusText | 返回状态文本(例如 "OK" 或 "Not Found") |
每当 readyState 发生变化时就会调用 onreadystatechange 函数。
当 ریدی اسٹیٹ
为 4
,اسٹیٹس
为 200
时,响应就绪:
ਇੰਸਟੈਂਸ
فانکشن لوڈ ڈاک () { var xhttp = new XMLHttpRequest(); ایکس ایچ تی امآنریڈی اسٹیٹ = فانکشن() { اگر این.ریدی اسٹیٹ == 4 && این.اسٹیٹس == 200) { ڈاکومن اے ڈی جی بی آئی ("demo").اینرهایرل انر = این.ریسپونس اے ڈیوگروپٹ ایس اینٹریسپونس اے ڈیوگروپٹ } }; xhttp.open("GET", "ajax_info.txt", true); xhttp.send(); }
نوٹ:آنریڈی اسٹیٹ
پانچ بار (0-4) بجلی کی، جب بجلی کا هر بار ریدی اسٹیٹ
تمام چیز تبدیل ہوجاتی ہیں。
کالبیک فانکشن کا استعمال
ریٹرن فانکشن ایک ایسا فانکشن ہوتا ہے جو دوسرے فانکشن میں پارامٹر کے طور پر پاس کیاجاتا ہے。
اگر آپ کا ویب سائٹ میں متعدد AJAX ٹاسکز ہیں تو آپ کو ایک فانکشن بنانا چاہئیے جس میں XMLHttpRequest آپریشن کو چلانے کا کام ہو اور ایک آپریشن کی ریٹرن فانکشن بھی ہو。
ਇਹ ਫੰਕਸ਼ਨ ਯੂਰਲ ਅਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਤਿਆਰ ਹੋਣ ਉੱਤੇ ਫੰਕਸ਼ਨ ਕਾਲ ਵਾਪਸ ਕਰਨ ਵਾਲਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਇੰਸਟੈਂਸ
loadDoc("url-1", myFunction1); loadDoc("url-2", myFunction2); function loadDoc(url, cFunction) { var xhttp; xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { cFunction(this); } }; xhttp.open("GET", url, true); xhttp.send(); } function myFunction1(xhttp) { // ਇੱਥੇ ਕਾਰਵਾਈ ਹੋਵੇਗੀ } function myFunction2(xhttp) { // ਇੱਥੇ ਕਾਰਵਾਈ ਹੋਵੇਗੀ }
ਸਰਵਰ ਪ੍ਰਤੀਕਿਰਿਆ ਪ੍ਰਤੀਯੋਗਿਤਾ
ਪ੍ਰਤੀਯੋਗਿਤਾ | ਵਰਣਨ |
---|---|
responseText | ਪਾਠ ਰੂਪ ਵਿੱਚ ਪ੍ਰਤੀਕਿਰਿਆ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰਨਾ |
responseXML | XML ਰੂਪ ਵਿੱਚ ਪ੍ਰਤੀਕਿਰਿਆ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰਨਾ |
ਸਰਵਰ ਪ੍ਰਤੀਕਿਰਿਆ ਤਰੀਕਾ
ਤਰੀਕਾ | ਵਰਣਨ |
---|---|
getResponseHeader() | ਸਰਵਰ ਤੋਂ ਵਿਸ਼ੇਸ਼ ਮੁੱਖ ਸੂਚਨਾ ਵਾਪਸ ਲੈਣਾ |
getAllResponseHeaders() | ਸਰਵਰ ਤੋਂ ਸਾਰੀਆਂ ਮੁੱਖ ਸੂਚਨਾਵਾਂ ਵਾਪਸ ਲੈਣਾ |
responseText ਪ੍ਰਤੀਯੋਗਿਤਾ
responseText
ਪ੍ਰਤੀਯੋਗਿਤਾ ਨਾਲ ਸਰਵਰ ਪ੍ਰਤੀਕਿਰਿਆ ਨੂੰ JavaScript ਪਾਠ ਰੂਪ ਵਿੱਚ ਵਾਪਸ ਦੇ ਸਕਦੇ ਹੋ ਇਸ ਤਰ੍ਹਾਂ ਵਰਤ ਸਕਦੇ ਹੋ
ਇੰਸਟੈਂਸ
document.getElementById("demo").innerHTML = xhttp.responseText;
responseXML ਪ੍ਰਤੀਯੋਗਿਤਾ
XML HttpRequest ਆਬਜੈਕਟ ਇੱਕ ਬੁਨਿਆਦੀ XML ਪਰਿਭਾਸ਼ਕ ਰੱਖਦਾ ਹੈ。
ResponseXML
ਇਸ ਪ੍ਰਤੀਯੋਗਿਤਾ ਨਾਲ ਸਰਵਰ ਪ੍ਰਤੀਕਿਰਿਆ ਨੂੰ XML DOM ਆਬਜੈਕਟ ਵਜੋਂ ਵਾਪਸ ਦੇ ਸਕਦੇ ਹੋ
ਇਸ ਪ੍ਰਤੀਯੋਗਿਤਾ ਦੀ ਵਰਤੋਂ ਨਾਲ ਤੁਸੀਂ ਪ੍ਰਤੀਕਿਰਿਆ ਨੂੰ XML DOM ਆਬਜੈਕਟ ਵਜੋਂ ਲੈ ਸਕਦੇ ਹੋਪਰਿਭਾਸ਼ਿਤ ਕਰੋਲਈ XML DOM ਆਬਜੈਕਟ:
ਇੰਸਟੈਂਸ
ਮੰਗੇ ਫਾਇਲ music_list.xml، ਅਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਨੂੰ ਵਿਚਾਰਨਾ:
xmlDoc = xhttp.responseXML; txt = ""; x = xmlDoc.getElementsByTagName("ARTIST"); for (i = 0; i < x.length; i++) { txt += x[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("demo").innerHTML = txt; xhttp.open("GET", "music_list.xml", true); xhttp.send();
ਤੁਸੀਂ ਇਸ ਟਿਊਰੀਅਲ ਦੇ DOM ਚਾਪ 'ਚ XML DOM ਦੇ ਬਾਰੇ ਜਾਣਕਾਰੀ ਮਿਲਵੇਗੀ。
getAllResponseHeaders() ਮੱਥਾ
getAllResponseHeaders()
ਮੱਥਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ ਸਾਰੀਆਂ ਹੈਡਰ ਸੂਚਨਾ
ਇੰਸਟੈਂਸ
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.getAllResponseHeaders(); } };
getResponseHeader() ਮੱਥਾ
getResponseHeader()
ਮੱਥਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਹੈਡਰ ਸੂਚਨਾ
ਇੰਸਟੈਂਸ
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("demo").innerHTML = this.getResponseHeader("Last-Modified"); } }; xhttp.open("GET", "ajax_info.txt", true); xhttp.send();
- ਪਿਛਲਾ ਪੰਨਾ AJAX ਰਿਕਾਰਡ
- ਅਗਲਾ ਪੰਨਾ AJAX XML ਫਾਈਲ