原生态的AJAX
1 <script type="text/javascript">
2 var xmlhttprequest;
3 function GetXmlHttpRequest() {
4 if (window.ActiveXObject) {
5 try
6 {
7 //适用于IE5 IE6
8 xmlhttprequest=new ActiveXObject("Microsoft.XMLHTTP");
9 }
10 catch(e)
11 {
12 //适用于IE7 以上版本
13 xmlhttprequest=new ActiveXObject("Msxml2.XMLHTTP");
14 }
15 }
16 if(window.XMLHttpRequest)
17 {
18 //适用于所有的浏览器
19 xmlhttprequest=new XMLHttpRequest();
20 }
21 else
22 {
23 alert("对不起,您的浏览器不适用于AJAX");
24 }
25 }
26
27 //执行操作
28 function Operate() {
29 {
30
31 //先获取xmlhttprequest
32 GetXmlHttpRequest();
33
34 //POST传值
35
36 //open方法(指定数据发送方式,处理页面,是否异步)创建一个新的http请求,并指定此请求的方法、URL以及验证等信息
37 xmlhttprequest.open("POST", "DoOperate.ashx",true);
38
39 //setRequestHeader(header, value)方法单独设定某个请求的HTTP头信息
40 xmlhttprequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
41
42 //状态发生事件(onreadyStateChange事件是在readyState属性发生改变时触发)
43 xmlhttprequest.onreadystatechange=WatchChange;
44
45 //发送数据
46 xmlhttprequest.send("id=1001&name=holyknihgt");
47
48 //GET传值【如果是POST传值需要设定RequestHeader,而Get传值不需要】
49 //xmlhttprequest.open("Get", "DoOperate.ashx",true);
50
51 //xmlhttprequest.send(null);
52 }
53
54 //状态监听
55 function WatchChange()
56 {
57 //readyState
58 //0:send方法还没有被调用
59 //1:已经调用了send方法,请求还在处理
60 //2:send方法已完成 整个应答已接收
61 //3:正在解析应答
62 //4:应答解析完成
63
64 //status
65 //200:表示交互成功
66 //404:NOT Found
67 //500:服务器内部错误
68 if(xmlhttprequest.readyState==4 && xmlhttprequest.status==200)
69 {
70 //或许响应值
71 var result = xmlhttprequest.responseText;
72 //将响应值以‘,’分割
73 result = result.split(',');
74 //给id为resultMsg的控件赋值
75 document.getElementById("resultMsg").innerHTML = "ID:"+result[0]+" Name:"+result[1];
76 }
77 }
78 </script>
79 </head>
80 <body>
81 <form id="form1" runat="server">
82 <div>
83 <div id="resultMsg"></div>
84 <input type="button" value="调用AJAX" onclick="Operate();" />
85 </div>
86 </form>
87 </body>
88 </html>
2 var xmlhttprequest;
3 function GetXmlHttpRequest() {
4 if (window.ActiveXObject) {
5 try
6 {
7 //适用于IE5 IE6
8 xmlhttprequest=new ActiveXObject("Microsoft.XMLHTTP");
9 }
10 catch(e)
11 {
12 //适用于IE7 以上版本
13 xmlhttprequest=new ActiveXObject("Msxml2.XMLHTTP");
14 }
15 }
16 if(window.XMLHttpRequest)
17 {
18 //适用于所有的浏览器
19 xmlhttprequest=new XMLHttpRequest();
20 }
21 else
22 {
23 alert("对不起,您的浏览器不适用于AJAX");
24 }
25 }
26
27 //执行操作
28 function Operate() {
29 {
30
31 //先获取xmlhttprequest
32 GetXmlHttpRequest();
33
34 //POST传值
35
36 //open方法(指定数据发送方式,处理页面,是否异步)创建一个新的http请求,并指定此请求的方法、URL以及验证等信息
37 xmlhttprequest.open("POST", "DoOperate.ashx",true);
38
39 //setRequestHeader(header, value)方法单独设定某个请求的HTTP头信息
40 xmlhttprequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
41
42 //状态发生事件(onreadyStateChange事件是在readyState属性发生改变时触发)
43 xmlhttprequest.onreadystatechange=WatchChange;
44
45 //发送数据
46 xmlhttprequest.send("id=1001&name=holyknihgt");
47
48 //GET传值【如果是POST传值需要设定RequestHeader,而Get传值不需要】
49 //xmlhttprequest.open("Get", "DoOperate.ashx",true);
50
51 //xmlhttprequest.send(null);
52 }
53
54 //状态监听
55 function WatchChange()
56 {
57 //readyState
58 //0:send方法还没有被调用
59 //1:已经调用了send方法,请求还在处理
60 //2:send方法已完成 整个应答已接收
61 //3:正在解析应答
62 //4:应答解析完成
63
64 //status
65 //200:表示交互成功
66 //404:NOT Found
67 //500:服务器内部错误
68 if(xmlhttprequest.readyState==4 && xmlhttprequest.status==200)
69 {
70 //或许响应值
71 var result = xmlhttprequest.responseText;
72 //将响应值以‘,’分割
73 result = result.split(',');
74 //给id为resultMsg的控件赋值
75 document.getElementById("resultMsg").innerHTML = "ID:"+result[0]+" Name:"+result[1];
76 }
77 }
78 </script>
79 </head>
80 <body>
81 <form id="form1" runat="server">
82 <div>
83 <div id="resultMsg"></div>
84 <input type="button" value="调用AJAX" onclick="Operate();" />
85 </div>
86 </form>
87 </body>
88 </html>
分类:
AJAX
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述