《Javascript学习笔记12——Ajax入门》由会员分享,可在线阅读,更多相关《Javascript学习笔记12——Ajax入门(3页珍藏版)》请在金锄头文库上搜索。
1、Ajax:Asynchronous Javascript And XML。写个简单的例子:if (!window.XMLHttpRequest) window.XMLHttpRequest = function () return new ActiveXObject(“Microsoft.XMLHTTP“);function UpdateClock() var request = new XMLHttpRequest();request.open(“post“, “TimeTest.aspx“,false);request.send(“);document.getElementById(“La
2、belTime“).innerText = request.responseText; setInterval(UpdateClock, 1000);而在另一个页面写下当前时间,这样就形成了一个钟表。代码很简单,就是操纵一个 XMLHttpRequest 对象来获取服务器时间,然后更新时间。上面的代码在与服务器交互时,并没有页面整体刷新,而是局部刷新。但是上面的代码在 request.open 时,最后一个参数为 false,表示发出的XMLHttpRequest 是同步的,由于 Javascript 是单线程的,所以在等待请求的过程中,线程会被阻塞,如果请求时间过长,浏览器会停止响应。虽然
3、Javascript 是单线程的,但是 XMLHttpRequest 具备异步处理请求的能力。代码如下:if (!window.XMLHttpRequest) window.XMLHttpRequest = function () return newActiveXObject(“Microsoft.XMLHTTP“);function AsynRequest() var request = new XMLHttpRequest();request.open(“post“, “TimeTest.aspx“, true);request.onreadystatechange = function () if (request.readyState = 4) UpdateClock(request.responseText);request.send(“);function UpdateClock(time) document.getElementById(“LabelTime“).innerText =time;setInterval(AsynRequest, 1000);哎,没有智能提示的日子真不好过。