AJAX - ਸਰਵਰ ਪ੍ਰਤੀਕਿਰਿਆ

onreadystatechange 属性

ریدی اسٹیٹ 属性存留 XMLHttpRequest 的状态。

آنریڈی اسٹیٹ 属性定义当 readyState 发生变化时执行的函数。

اسٹیٹس 属性和 statusText 属性存有 XMLHttpRequest 对象的状态。

ਪ੍ਰਤੀਯੋਗਿਤਾ ਵਰਣਨ
آنریڈی اسٹیٹ 定义了当 readyState 属性发生改变时所调用的函数。
ریدی اسٹیٹ

保存了 XMLHttpRequest 的状态。

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 正在处理请求
  • 4: 请求已完成且响应已就绪
اسٹیٹس
  • 200: "OK"
  • 403: "Forbidden"
  • 404: "Page not found"

如需完整列表,请访问 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(); 

ਆਪਣੇ ਅਨੁਸਾਰ ਪ੍ਰਯੋਗ ਕਰੋ