AJAX系列2:采用自己写的函数实现

    技术2022-05-19  49

    自己构建httpRequest对象

    <html xmlns ="http://www.w3.org/1999/xhtml"> <head> <title> xmlhttprequest ajax demo </title> <mce:script src="prototype.js" mce_src="prototype.js" type="text/javascript" language="javascript"></mce:script> <mce:script type ="text/javascript" language ="javascript"><!-- var req; // 定义变量,用来创建xmlhttprequest对象 function creatReq() // 创建xmlhttprequest,ajax开始 { var url = "clock.asp" ; // 要请求的服务端地址 if (window.XMLHttpRequest) // 非IE浏览器,用xmlhttprequest对象创建 { req = new XMLHttpRequest(); } else if (window.ActiveXObject) // IE浏览器用activexobject对象创建 { req = new ActiveXObject( "Microsoft.XMLHttp" ); } if (req) // 成功创建xmlhttprequest { req.open( "GET" ,url, true ); // 与服务端建立连接(请求方式post或get,地址,true表示异步) req.onreadystatechange = callback; // 指定回调函数 req.send( null ); // 发送请求 } } function Dispaly(transport) // 接受服务端返回的数据,对其进行显示 { document.getElementById("myTime").innerHTML = transport.responseText; } function callback() // 回调函数,对服务端的响应处理,监视response状态 { if (req.readystate == 4 ) // 请求状态为4表示成功 { if (req.status == 200 ) // http状态200表示OK { Dispaly(); // 所有状态成功,执行此函数,显示数据 } else // http返回状态失败 { alert( " 服务端返回状态 " + req.statusText); } } else // 请求状态还没有成功,页面等待 { document.getElementById("myTime").innerHTML = " 数据加载中 " ; } } function updatetime() { var myAjax = new Ajax.Request( 'clockperiod.asp', {method: 'post', parameters: 'param1=123¶m2=456', onComplete: Dispaly} ); } // --></mce:script> </head> <body> <div id ="myTime"></div> <input id ="Button1" type ="button" value ="Get Time" onclick ="updatetime();" /> </body> </html>

     

    <html> <body> <mce:script language = "javascript" type = "text/javascript" RUNAT=Server><!-- var i = Math.floor(Math.random()*1000); document.write(i); document.write("<br>") var j = Math.floor(Math.random()*10)+1; write(j); // --></mce:script> <% write("000123456abcaaa"); %> </body> </html>


    最新回复(0)