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 );
那么发出请求以后
发现点击按钮,时间不更新
![567993-20160316214536146-1972738852.png](https://images2015.cnblogs.com/blog/567993/201603/567993-20160316214536146-1972738852.png)
![567993-20160316214536615-1200678790.png](https://images2015.cnblogs.com/blog/567993/201603/567993-20160316214536615-1200678790.png)
并且在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);
})
}