1、AJAX简介

     (1、没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器的时间。每次都要刷新页面的坏处:页面刷新打断用户操作、速度慢、增加服务器的流量压力。 如果没有AJAX,在youku看视频的过程中如果点击了“顶、踩”、评论、评论翻页,页面就会刷新,视频就会被打断。试想一个效果:在YOUKU网看视 频,然后看到一个顶踩的功能,看没有ajax会打断视频,然后将按钮用UpdatePanel包起来就不会打断视频了。用HttpWatch看没有 AJAX的时候服务器返回的是整个页面,有了AJAX服务器只返回几个按钮的内容。

   (2、AJAX(AsynchronousJavaScript and XML,异步JavaScript和XML)是一种进行页面局部异步刷新的技术。用AJAX向服务器发送请求和获得服务器返回的数据并且更新到界面中,不是整个页面刷新,而是在HTML页面中使用JavaScript创建XMLHTTPRequest对象来向服务器发出请求以及获得返回的数据,就像JavaScript版的WebClient一样,在页面中由XMLHTTPRequest来发出Http请求和获得服务器的返回数据,这样页面就不会刷新了。XMLHTTPRequest是AJAX的核心对象。
 
2、 XMLHTTPRequest

    (1、开发一个AJAX功能需要开发服务端和客户端两 块程序。以一个显示服务端时间为例。首先开发一个GetDate1.ashx,输出当前时间。在HTML页面中放一个按 钮,在按钮的onclick中创建XMLHTTP向GetDate1.ashx发送请求,获得返回的数据并且显示到界面上。下面的代码非常重要,是精华来 着,必背:
.NET运用AJAX 总结及其实例
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <title>AJAX01</title>
 5     <script type="text/javascript">
 6         function btnClick() {
 7             //alert(1);
 8             // 1 创建XMLHTTP对象,相当于WebClient
 9             var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
10             
11             if (!xmlhttp) {
12                 alert("创建xmlhttp对象异常");
13                 return;
14             }
15             
16             // 2 “准备”01AJAX.ashx发出Post请求。这里还没有发出请求
17             //XMLHTTP默认(也推荐)不是同步请求的,也就是open方法并不像WebClient的DownloadString
18             //那样把服务器返回的数据拿到才返回,
19             //是异步的,因此需要监听onreadystatechange事件
20 
21 
22             xmlhttp.open("POST", "01AJAX.ashx?id=" + encodeURI('AJAX服务器') + "&ts=" + new Date(), false);
23             
24             xmlhttp.onreadystatechange = function () {
25                 if (xmlhttp.readyState == 4) {//readyState == 4 表示服务器返回数据了
26                     if (xmlhttp.status == 200) {//如果状态码为200则是成功
27                         //接收服务器的返回数据,没有用send的返回值,而是在onreadystatechange事件里来接收
28                         document.getElementById("txtTime").value = xmlhttp.responseText; //responseText属性为服务器返回的文本
29                     }
30                     else {
31                         alert("AJAX服务器返回错误!");
32                     }
33                 }
34             }
35             //不要以为if(xmlhttp.readyState == 4) 在send之前执行!!!!
36             //if (xmlhttp.readyState == 4)只有在服务器返回值以后才会执行,而!!send之后过一会儿服务器才会返回数据
37             xmlhttp.send(); //这时才开始发送请求
38         }
39     </script>
40 </head>
41 <body>
42     <input type="text" id="txtTime" />
43     <input type="button" id="btn" value="button" onclick="btnClick()" />
44 </body>
45 </html>
.NET运用AJAX 总结及其实例
.NET运用AJAX 总结及其实例
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 
 6 namespace AJAX
 7 {
 8     /// <summary>
 9     /// _01AJAx 的摘要说明
10     /// </summary>
11     public class _01AJAx : IHttpHandler
12     {
13 
14         public void ProcessRequest(HttpContext context)
15         {
16             context.Response.ContentType = "text/plain";
17             string id = context.Request["id"];
18             context.Response.Write(DateTime.Now.ToString()+"---"+id);
19         }
20 
21         public bool IsReusable
22         {
23             get
24             {
25                 return false;
26             }
27         }
28     }
29 }
.NET运用AJAX 总结及其实例

 

相关文章:

  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-18
  • 2021-04-17
  • 2021-06-28
猜你喜欢
  • 2021-11-30
  • 2021-12-09
  • 2021-09-04
  • 2021-07-22
  • 2021-10-12
相关资源
相似解决方案