为什么我在VS2010中直接套用AJAX代码却没有反应??
我原封不动引用了下述代码。而且也创建了相应的 .ashx 处理文件,但是为什么就是获取不到时间?(这是哪个最简单的获取时间的AJAX代码。)
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 }
3