1.使用XMLHttPRequest控件异步获取数据

 知识点:

①根据浏览器的不同实例化XMLHttpRequest对象;

②发送一个异步请求的步骤;

③如何处理每次回调的函数;

完整代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="01_XmlHttpRequest.aspx.cs" Inherits="XmlHttpRequest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>ASP.NET AJAX In Action - XmlHttpRequest</title> </head> <body> <form id="form1" runat="server"> <div> <span id="results">Loading...<br /> <!--这里用按钮触发异步回调事件--> </span><input type="button" value="触发异步调用,调用Welcome.htm的内容" οnclick="sendRequest('Welcome.htm');" /> </div> </form> <script type="text/javascript"> <!-- var xmlHttp = null; window.onload = function() { loadXmlHttp(); //sendRequest("Welcome.htm"); } //【1】根据浏览器版本实例化xmlHttp对象 function loadXmlHttp() { if (window.XMLHttpRequest) { // IE7, Mozilla, Safari, Opera等浏览器 xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE 5.x and 6版本的微软浏览器 } catch (e){} } } //【2】发送一个异步请求的步骤; function sendRequest(url) { if (xmlHttp) { // ①打开异步连接 xmlHttp.open("GET", url, true); // true = async // ②指定回调函数 xmlHttp.onreadystatechange = onCallback; // [可选]Specify form data in request body xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); // ③发送异步请求 xmlHttp.send(null); } } //【3】每次异步请求的就绪状态改变时都会调用的回调函数; function onCallback() { // ①查看完成了的就绪状态 if (xmlHttp.readyState == 4) { // ②状态码200表示成功,404表示没有文件错误 if (xmlHttp.status == 200) { // ③显示请求结果 var r = document.getElementById('results'); r.innerHTML = xmlHttp.responseText; } else { alert('Error: ' + xmlHttp.status); } } } // --></script> </body> </html>

welcome.htm页面代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Welcome</title> </head> <body> <div>Welcome to ASP.NET AJAX In Action!</div> </body> </html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值