AJAX程序实验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<script type="text/javascript" >
        function btnClick () {
            try // Firefox, Opera 8.0+, Safari, IE7
                xmlHttp = new XMLHttpRequest();
            }
            catch ( e) {// Old IE
                try {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP" );
                }
                catch ( e) {
                    alert ("Your browser does not support XMLHTTP!");
                    return;
                }
            }
 
            if (! xmlHttp) {
                alert ("创建 xmlHttp对象异常" );
                return false ;
            }
            xmlHttp .open( "POST""GetDate1.ashx?ts" new Date(), false); //准备向服务器的GetDate.ashx发出 Post请求
            //XMLHTTP默认(也推荐)不是同步请求,而是异步。 open方法并不像WebClient的 DownloadString那样把服务器返回的数据拿到才返回。
            //需要监听onreadystatechange 事件
            xmlHttp .onreadystatechange = function () {
                if ( xmlHttp.readyState == 4 ) { // 服务器完成
                    if ( xmlHttp.status == 200 ) { // 如果状态码是 200,则是成功
                        document.getElementById("Text1" ).value= xmlHttp.responseText ;//responseText是服务器返回的文本
                    }
                    else{
                        alert ("AJAX服务器返回错误 ");
                    }
                }
            }
            xmlHttp .send();
        }    
    </script >

如果改成如下方式
xmlHttp . open( "GET" , "GetDate1.ashx?"ts" + new Date (), false ); 
那么发出请求以后
发现点击按钮,时间不更新
并且在Stream中没有请求。

这是因为:xmlHttp . open( "GET" , "GetDate1.ashx?"ts" + new Date (), false );每次都发送一样的请求给服务器,AJAX直接从服务器缓存中取值,而不进行处理    ts" + new Date ()表示删除
这样会直接从服务器缓存中获得,所以要加上一个每次都会变的值,使得每次的请求都不同,这样就不会从缓存中取值。

用Jquery实现的代码是:


function btnClick2() {
            var time = new Date();
            var second = time.getSeconds();
            $.get( "GetDate1.ashx", { id: 33, tr: second }, function (data) {//同样这里要有一个变化的值
                $( "#Text1").val(data);
            })
        }

原文地址:https://www.cnblogs.com/zhxshseu/p/5285332.html