ASP.NET中AJAX的异步加载(Demo演示)

Hayley ·
更新时间:2024-11-10
· 694 次阅读

此次的Demo是一个页面,页面上有两行字,然后后面用AJAX,使用一个下拉框去替换第一行文字

第一个是被替换的网页

var xmlHttpRequest; function createXmlHttpRequest() { if (window.ActiveXObject) { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器 } else { xmlHttpRequest = new window.XMLHttpRequest();//谷歌等浏览器 } } function sendRequest() { createXmlHttpRequest();//获取对象 xmlHttpRequest.onreadystatechange = function () { if (xmlHttpRequest.readyState == 4) { if (xmlHttpRequest.status == 200) { document.getElementById("divContent").innerHTML = xmlHttpRequest.responseText; } } }; xmlHttpRequest.open("POST", "DeptHandler.ashx", true); xmlHttpRequest.send(null); } <!-- var xmlHttpRequest; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器 } else { xmlHttpRequest = new window.XMLHttpRequest();//谷歌等浏览器 } } //请求数据 function sendRequest() { createXMLHttpRequest(); xmlHttpRequest.onreadystatechange = function () { if (xmlHttpRequest.readState == 4) { if (xmlHttpRequest.status == 200) { document.getElementById("divContent").innerHTML = xmlHttpRequest.responseText; } } } xmlHttpRequest.open("POST", "DeptHandler.ashx", true); xmlHttpRequest.send(null); } -->

这里显示部门信息

sendRequest()

这里显示部门信息结束了

第二个是一个类

using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebApplication2 { public class Dept { public int Id { get; set; } public string DeptName { get; set; } } }

然后是一个一般处理程序

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Web; namespace WebApplication2 { /// /// DeptHandler 的摘要说明 /// public class DeptHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { //这里的AJAX进行了三秒的延迟 Thread.Sleep(3000); List depts = new List { new Dept(){Id=1,DeptName="财务部"}, new Dept(){Id=2,DeptName="研发部"}, new Dept(){Id=3,DeptName="市场部"} }; StringBuilder sb = new StringBuilder(); sb.AppendLine(""); foreach (var item in depts) { sb.AppendLine($"{item.DeptName}"); } sb.AppendLine(""); context.Response.ContentType = "text/plain"; context.Response.Write(sb); } public bool IsReusable { get { return false; } } } }

效果图
AJAX有三秒的延迟加载
前三秒
原创文章 1884获赞 3万+访问量 633万+ 关注 他的留言板 展开阅读全文
作者:南 墙



异步 异步加载 net demo ASP.NET ASP AJAX

需要 登录 后方可回复, 如果你还没有账号请 注册新账号