ایکس ایم ال ری کوئسٹ متائج
- ਪਿੰਡਾ ਪੰਨਾ DOM ਕਲੋਨ ਨੋਡ
- ਅਗਲਾ ਪੰਨਾ DOM ਮੈਨੂਅਲ ਸਿਖਰ
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.
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>
ਟਿੱਪਣੀਆਂ:onreadystatechange ਇੱਕ ਈਵੈਂਟ ਹੈਂਡਲਰ ਹੈ। ਇਸ ਦਾ ਮੁੱਲ (state_Change) ਇੱਕ ਫੰਕਸ਼ਨ ਦਾ ਨਾਮ ਹੈ ਜੋ XMLHttpRequest ਆਬਜੈਕਟ ਦਾ ਸਥਿਤੀ ਤਬਦੀਲ ਹੋਣ ਉੱਤੇ ਟ੍ਰਾਗਰ ਹੁੰਦਾ ਹੈ। ਸਥਿਤੀ 0 (uninitialized) ਤੋਂ 4 (complete) ਤੱਕ ਤਬਦੀਲ ਹੁੰਦੀ ਹੈ। ਸਿਰਫ ਜਦੋਂ ਸਥਿਤੀ 4 ਹੋਵੇ ਤਾਂ ਅਸੀਂ ਕੋਡ ਚਲਾਉਂਦੇ ਹਾਂ।
ਅਜਿਹਾ ਕਿਉਂ Async=true ਵਰਤਦੇ ਹਾਂ?
ਸਾਡਾ ਉਦਾਹਰਣ open() ਦੇ ਤੀਜੇ ਪੈਰਾਮੀਟਰ ਵਿੱਚ "true" ਵਰਤਦਾ ਹੈ。
ਇਹ ਪੈਰਾਮੀਟਰ ਬੇਨਤੀ ਨੂੰ ਅਸਿਨਕਰਨ ਹੋਣ ਨਾਲ ਨਿਰਧਾਰਿਤ ਕਰਦਾ ਹੈ。
True ਮਤਲਬ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ send() ਮੈਥਡ ਦੇ ਬਾਅਦ ਜਾਰੀ ਰਹੇਗਾ, ਨਹੀਂ ਕਿ ਸਰਵਰ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ ਨੂੰ ਇੰਤਜਾਰ ਕਰੇਗਾ。
onreadystatechange ਈਵੈਂਟ ਕੋਡ ਨੂੰ ਜਟਿਲ ਬਣਾ ਦਿੰਦਾ ਹੈ। ਪਰ ਇਹ ਸਰਵਰ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ ਨਾ ਮਿਲਣ ਤੋਂ ਕੋਡ ਰੁਕਣ ਤੋਂ ਸੁਰੱਖਿਆ ਦਾ ਸਭ ਤੋਂ ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ ਹੈ。
ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ "false" ਮੁੱਲ ਦੇ ਕੇ, ਅਤਿਰਿਕਤ onreadystatechange ਕੋਡ ਨੂੰ ਬਚਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।ਜੇਕਰ ਬੇਨਤੀ ਵਿਫਲ ਹੋਣ 'ਤੇ ਬਾਕੀ ਕੋਡ ਚਲਣਾ ਚਾਹੀਦਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹੋ。
ਹੋਰ ਉਦਾਹਰਣ
XML HTTP ਰਾਹੀਂ ਇੱਕ textfile ਨੂੰ div ਅੰਗਾਰੇ ਵਿੱਚ ਲੋਡ ਕਰੋ
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 ਪ੍ਰਤੀਯੋਗਿਤਾ ਦੀ ਵਰਤੋਂ ਨਾਲ ਨਤੀਜੇ ਨੂੰ ਕਲਾਉਂਟੇਂਟ ਵਿੱਚ ਭੇਜੋ。
XMLHttpRequest ਆਬੈਦੀ ਵੈਂਕਿੰਗ ਦਾ ਸਟੈਂਡਰਡ ਹੈ ਕੀ?
ਕੋਈ W3C ਸਿਫਾਰਸ਼ਿਤ ਸਟੈਂਡਰਡ ਨੇ XMLHttpRequest ਆਬੈਦੀ ਨੂੰ ਨਿਰਧਾਰਿਤ ਨਹੀਂ ਕੀਤਾ ਹੈ。
ਪਰ ਵੈਂਕਿੰਗ DOM Level 3 ਦਾ "Load and Save" ਨਿਯਮ ਕੁਝ ਸਮਾਨ ਕਾਰਜਕਾਰੀ ਸਮਾਰਟਸ ਹਨ, ਪਰ ਕੋਈ ਵੀ ਬਰਾਉਜ਼ਰ ਇਹਨਾਂ ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ。
- ਪਿੰਡਾ ਪੰਨਾ DOM ਕਲੋਨ ਨੋਡ
- ਅਗਲਾ ਪੰਨਾ DOM ਮੈਨੂਅਲ ਸਿਖਰ