Software: Apache. PHP/5.5.15 uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 SYSTEM Safe-mode: OFF (not secure) C:\Intranet\C\xampp\htdocs\php\AjaxPhpCode\Chapter03\ajax\foundations\friendly\ drwxrwxrwx |
Viewing file: friendly.js (3.88 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) | // holds an instance of XMLHttpRequest var xmlHttp = createXmlHttpRequestObject(); // holds the remote server address and parameters var serverAddress = "friendly.php?action=GetNews"; // variables that establish how often to access the server var updateInterval = 5; // how many seconds to wait to get new message var errorRetryInterval = 30; // seconds to wait after server error // when set to true, display detailed error messages var debugMode = true; // creates an XMLHttpRequest instance function createXmlHttpRequestObject() { // will store the reference to the XMLHttpRequest object var xmlHttp; // this should work for all browsers except IE6 and older try { // try to create XMLHttpRequest object xmlHttp = new XMLHttpRequest(); } catch(e) { // assume IE6 or older var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"); // try every prog id until one works for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) { try { // try to create XMLHttpRequest object xmlHttp = new ActiveXObject(XmlHttpVersions[i]); } catch (e) {} } } // return the created object or display an error message if (!xmlHttp) alert("Error creating the XMLHttpRequest object."); else return xmlHttp; } // function that displays a new message on the page function display($message) { // obtain a reference to the <div> element on the page myDiv = document.getElementById("myDivElement"); // display message myDiv.innerHTML = $message + "<br/>"; } // function that displays an error message function displayError($message) { // display error message, with more technical details if debugMode is true display("Error retrieving the news message! Will retry in " + errorRetryInterval + " seconds." + (debugMode ? "<br/>" + $message : "")); // restart sequence setTimeout("process();", errorRetryInterval * 1000); } // call server asynchronously function process() { // only continue if xmlHttp isn't void if (xmlHttp) { // try to connect to the server try { // remove this line if you don't like the 'Receiving...' message display("Receiving new message from server...") // make asynchronous HTTP request to retrieve new message xmlHttp.open("GET", serverAddress, true); xmlHttp.onreadystatechange = handleGettingNews; xmlHttp.send(null); } catch(e) { displayError(e.toString()); } } } // function called when the state of the HTTP request changes function handleGettingNews() { // when readyState is 4, we are ready to read the server response if (xmlHttp.readyState == 4) { // continue only if HTTP status is "OK" if (xmlHttp.status == 200) { try { // do something with the response from the server getNews(); } catch(e) { // display error message displayError(e.toString()); } } else { // display error message displayError(xmlHttp.statusText); } } } // handles the response received from the server function getNews() { // retrieve the server's response var response = xmlHttp.responseText; // server error? if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0 || response.length == 0) throw(response.length == 0 ? "Server error." : response); // display the message display(response); // restart sequence setTimeout("process();", updateInterval * 1000); } |
:: Command execute :: | |
--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]-- |