🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 我们在js的业务逻辑中,经常会用来时间属性,一般来说,前端可以获取的时间有两个: - 客户端时间 - 服务端时间 客户端时间可以用以下方式获取 ~~~ let date=new Date() ~~~ 服务端时间我们一般使用ajax,获取请求头时间获取: ~~~ let ajax = new XMLHttpRequest(); ajax.open('GET',location.href,true); ajax.send(null) ajax.onreadystatechange = funcion(){ if(ajax.status === 200&&ajax.readyState === 4){ console.log(ajax.getResponseHeader('Date')) } } ~~~ 但是这种做法有一个缺陷,就是我们只需要服务器返回一个时间,这样的话服务器会返回一个正文回来, 有其他更好的解决方案吗? 答:使用Ajax HTTP Head的请求方法: - 我们原来使用的get,post都有正文返回,但是使用 Head的方法,它只会返回一个请求头,并且只要javascript可以执行,就可以取当前域的地址作为请求地址,有一定的通用性,且避免了跨域的问题.: ~~~ let ajax = new XMLHttpRequest(); ajax.open("HEAD",location.href,true); ajax.send(null) ajax.onreadystatechange = function(){ if(ajax.status === 200&& ajax.readyState === 4){ console.log(ajax.getResponseHeader("Date")) } } ~~~ angularJs中的写法: ~~~ $http({ method:"HEAD", url:location.href }).then(function(res){ console.log(res.headers().date) }) ~~~