- 需求:从服务器端获取时间并在客户端页面显示并实时更新
- 思路:
我是参考这个链接里面的内容:
https://www.cnblogs.com/wangmeijian/p/4442830.html
文字内容如下:
客户端向服务器端发送ajax请求,通过读取XMLHttpRequest对象的响应头里面的时间戳得到当前服务器时间。
通过ajax向服务器发送请求,当服务器收到请求后即可读取响应头的时间戳了,不管请求成功或失败,都可以拿到时间戳。怎么判断服务器收到请求了呢?当ajax请求发送之后,XMLHttpRequest有5中状态变化:
XMLHttpRequest.readyState的值 | 表示的意思 |
---|---|
0 | 未初始化,已经创建一个XMLHttpRequest对象,但是还没有初始化 |
1 | 未发送,代码已经调用了xmlhttprequest open()方法并且xmlhttprequest已经准备好把一个请求发送到服务器 |
2 | 已发送,已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应,可以读取响应头信息了 |
3 | 正在接收,已经接收到http响应头部信息,但是消息体部分还没有完全接收完毕 |
4 | 已加载,响应已经被完全接收 |
通过监听XMLHttpRequest的readystatechange事件来判断当前处于哪种状态,从表中可以看出,当XMLHttpRequest.readyState值为2时就可以读取响应头拿到我们要的时间戳了。
接着,通过计时器setTimeout,设置每隔一秒执行一次函数,就可以做到实时更新。
- 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head