在jQuery中获取默认服务器时间?

如何使用jQuery获取Web服务器时间?

这是一种可以在服务器端没有任何特定代码甚至有效路径的情况下工作的方法。

try { var date = new Date($.ajax({'type': 'HEAD', 'url': '/'}).getResponseHeader('Date')); } catch(err) { var date = null; } 

这是推测服务器将始终返回“日期”标头。 有必要对服务器的细节进行一些实验。

编辑添加:请注意,这更像是一个可爱的hackish方式来做到这一点。 “正确”的方法是设置服务器端脚本以快速返回服务器时间,或者可能将其内联到脚本将运行的页面,或者只是使用客户端时间,如果它将“够好了。”

要获取服务器代码,您需要在服务器端使用某种方法,以便在渲染时为页面添加时间,或者如果您需要实时时间(操作),则需要使用ajax调用服务器jQuery的。 这意味着你需要在服务器端有一些能够响应ajax请求的东西。 你在服务器端使用什么语言?

如果您在服务器上运行了类似php的东西,您可以通过将其嵌入到脚本中来设置日期/时间:

  

使用Garrett回答,但是$ .ajax的响应时间很短,这意味着它的’getResponseHeader’方法无法立即调用。

我认为这可以解决问题:

 var Date1 = null; var endInterval; function DoJob() { if (Date1 == null) { if (endInterval) clearInterval(endInterval); endInterval = setInterval(DoJob, 100); return; } /* job to do... */ if (endInterval) clearInterval(endInterval); } try { var oHead = $.ajax({ 'type': 'HEAD', 'url': '/' }).success(function () { Date1 = new Date(oHead.getResponseHeader('Date')); }); } catch (err) { Date1 = null; } DoJob();