ایکس ایم ال ری کوئسٹ متائج

XMLHttpRequest ਪ੍ਰੋਗਰਾਮ ਨਾਲ ਵੈੱਬਸਾਈਟ ਲੋਡ ਹੋਣ ਦੇ ਬਾਅਦ ਸਰਵਰ ਨਾਲ ਸੰਚਾਰ ਕਰਨ ਦੇ ਤਰੀਕੇ ਮੁਹੱਈਆ ਕਰਵਾਉਂਦਾ ਹੈ。

XMLHttpRequest ਪ੍ਰੋਗਰਾਮ ਕੀ ਹੈ?

XMLHttpRequest ਪ੍ਰੋਗਰਾਮ ਹੈDevelopers' dream, because you can:

  • Update the web page without reloading the page
  • Request data from the server after the page is loaded
  • Receive data from the server after the page is loaded
  • Send data to the server in the background

All modern browsers support XMLHttpRequest object.

Example:Communicate with the server when text is entered.

Create XMLHttpRequest object

ਇੱਕ ਸਰਲ ਜਾਵਾਸਕ੍ਰਿਪਟ ਕੋਡ ਨਾਲ, ਅਸੀਂ XMLHttpRequest ਆਬਜੈਕਟ ਬਣਾ ਸਕਦੇ ਹਾਂ。

ਸਾਰੇ ਆਧੁਨਿਕ ਬਰਾਊਜ਼ਰਾਂ ਵਿੱਚ (ਇਕ੍ਰਮਿਤ ਈਕਸਪਲੋਰਰ 7):

xmlhttp=new XMLHttpRequest()

ਇੰਟਰਨੈੱਟ ਈਕਸਪਲੋਰਰ 5 ਅਤੇ 6 ਵਿੱਚ:

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

ਉਦਾਹਰਣ

<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for all new browsers}
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5 and IE6}
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=state_Change;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}
function state_Change()
{
if (xmlhttp.readyState==4)
  {// 4 = "loaded"}
  if (xmlhttp.status==200)
    {// 200 = OK}
    // ...our code here...
    }
  else
    {
    alert("XML data retrieving problem");
    }
  }
}
</script>

TIY

ਟਿੱਪਣੀਆਂ:onreadystatechange ਇੱਕ ਈਵੈਂਟ ਹੈਂਡਲਰ ਹੈ। ਇਸ ਦਾ ਮੁੱਲ (state_Change) ਇੱਕ ਫੰਕਸ਼ਨ ਦਾ ਨਾਮ ਹੈ ਜੋ XMLHttpRequest ਆਬਜੈਕਟ ਦਾ ਸਥਿਤੀ ਤਬਦੀਲ ਹੋਣ ਉੱਤੇ ਟ੍ਰਾਗਰ ਹੁੰਦਾ ਹੈ। ਸਥਿਤੀ 0 (uninitialized) ਤੋਂ 4 (complete) ਤੱਕ ਤਬਦੀਲ ਹੁੰਦੀ ਹੈ। ਸਿਰਫ ਜਦੋਂ ਸਥਿਤੀ 4 ਹੋਵੇ ਤਾਂ ਅਸੀਂ ਕੋਡ ਚਲਾਉਂਦੇ ਹਾਂ।

ਅਜਿਹਾ ਕਿਉਂ Async=true ਵਰਤਦੇ ਹਾਂ?

ਸਾਡਾ ਉਦਾਹਰਣ open() ਦੇ ਤੀਜੇ ਪੈਰਾਮੀਟਰ ਵਿੱਚ "true" ਵਰਤਦਾ ਹੈ。

ਇਹ ਪੈਰਾਮੀਟਰ ਬੇਨਤੀ ਨੂੰ ਅਸਿਨਕਰਨ ਹੋਣ ਨਾਲ ਨਿਰਧਾਰਿਤ ਕਰਦਾ ਹੈ。

True ਮਤਲਬ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ send() ਮੈਥਡ ਦੇ ਬਾਅਦ ਜਾਰੀ ਰਹੇਗਾ, ਨਹੀਂ ਕਿ ਸਰਵਰ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ ਨੂੰ ਇੰਤਜਾਰ ਕਰੇਗਾ。

onreadystatechange ਈਵੈਂਟ ਕੋਡ ਨੂੰ ਜਟਿਲ ਬਣਾ ਦਿੰਦਾ ਹੈ। ਪਰ ਇਹ ਸਰਵਰ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ ਨਾ ਮਿਲਣ ਤੋਂ ਕੋਡ ਰੁਕਣ ਤੋਂ ਸੁਰੱਖਿਆ ਦਾ ਸਭ ਤੋਂ ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ ਹੈ。

ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ "false" ਮੁੱਲ ਦੇ ਕੇ, ਅਤਿਰਿਕਤ onreadystatechange ਕੋਡ ਨੂੰ ਬਚਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।ਜੇਕਰ ਬੇਨਤੀ ਵਿਫਲ ਹੋਣ 'ਤੇ ਬਾਕੀ ਕੋਡ ਚਲਣਾ ਚਾਹੀਦਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹੋ。

TIY

ਹੋਰ ਉਦਾਹਰਣ

XML HTTP ਰਾਹੀਂ ਇੱਕ textfile ਨੂੰ div ਅੰਗਾਰੇ ਵਿੱਚ ਲੋਡ ਕਰੋ

XML HTTP ਰਾਹੀਂ HEAD ਬੇਨਤੀ ਕਰੋ

XML HTTP ਰਾਹੀਂ ਨਿਰਦਿਸ਼ਟ HEAD ਬੇਨਤੀ ਕਰੋ

XML HTTP ਰਾਹੀਂ XML ਫਾਇਲ ਵਿੱਚ ਦਾਤਾ ਸੂਚੀਬੱਧ ਕਰੋ

XML / ASP

ਤੁਸੀਂ XML ਦਸਤਾਵੇਜ਼ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ ਅਤੇ ਇਸ ਨੂੰ ਸਰਵਰ 'ਤੇ ਏਸਪੀ ਪੰਨੇ ਨੂੰ ਭੇਜ ਸਕਦੇ ਹੋ, ਇਸ ਬੇਨਤੀ ਨੂੰ ਵਿਚਾਰ ਕਰੋ, ਫਿਰ ਨਤੀਜੇ ਵਾਪਸ ਭੇਜ ਸਕਦੇ ਹੋ。

<html>
<body>
<script type="text/javascript">
xmlHttp=null;
if (window.XMLHttpRequest)
  //{ code for IE7, Firefox, Opera, etc.
  xmlHttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  //{ code for IE6, IE5
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlHttp!=null)
  {
  xmlHttp.open("GET", "note.xml", false);
  xmlHttp.send(null);
  xmlDoc=xmlHttp.responseText;
  xmlHttp.open("POST", "demo_dom_http.asp", false);
  xmlHttp.send(xmlDoc);
  document.write(xmlHttp.responseText);
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
</script>
</body>
</html>

ASP ਪੰਨਾ, VBScript ਦੁਆਰਾ ਲਿਖਿਆ ਗਿਆ:

<%
set xmldoc = Server.CreateObject("Microsoft.XMLDOM")
xmldoc.async=false
xmldoc.load(request)
for each x in xmldoc.documentElement.childNodes
   if x.NodeName = "to" then name=x.text
ਅਗਲਾ
response.write(name)
%>

response.write ਪ੍ਰਤੀਯੋਗਿਤਾ ਦੀ ਵਰਤੋਂ ਨਾਲ ਨਤੀਜੇ ਨੂੰ ਕਲਾਉਂਟੇਂਟ ਵਿੱਚ ਭੇਜੋ。

TIY

XMLHttpRequest ਆਬੈਦੀ ਵੈਂਕਿੰਗ ਦਾ ਸਟੈਂਡਰਡ ਹੈ ਕੀ?

ਕੋਈ W3C ਸਿਫਾਰਸ਼ਿਤ ਸਟੈਂਡਰਡ ਨੇ XMLHttpRequest ਆਬੈਦੀ ਨੂੰ ਨਿਰਧਾਰਿਤ ਨਹੀਂ ਕੀਤਾ ਹੈ。

ਪਰ ਵੈਂਕਿੰਗ DOM Level 3 ਦਾ "Load and Save" ਨਿਯਮ ਕੁਝ ਸਮਾਨ ਕਾਰਜਕਾਰੀ ਸਮਾਰਟਸ ਹਨ, ਪਰ ਕੋਈ ਵੀ ਬਰਾਉਜ਼ਰ ਇਹਨਾਂ ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ。

ਦੇਖੋ

XML DOM ਸੰਦਰਭ ਮੈਨੂਅਲ: XMLHttpRequest ਆਬੈਦੀ