如何使用AJAX从另一台服务器获取时间

How can I get time from another server using AJAX?

本文关键字:一台 服务器 获取 取时间 AJAX 何使用      更新时间:2023-09-26

我需要从一些在线源获取时间-NTP服务器、JSON时间服务器,或者可能只是HTTP标头的事件。我不在乎精确性,但我确实需要从网上获得时间。我无法访问任何服务器,因此无法编写任何服务器端代码。

我不能使用HTTP请求来获取头,因为我想这会违反同源策略。

我似乎找不到一种不涉及PHP或其他语言的方法——我只能使用HTML/CSS/JS。。。没有别的!

有什么想法吗?

$.ajax({
    url: 'http://timeapi.org/utc/now.json',
    dataType: 'jsonp'
})
.done(function(response) {
    // response = {"dateString":"2012-03-06T02:18:25+00:00"}
    console.log(response.dateString);// "2012-03-06T02:18:25+00:00"
});

JavaScript有一个同源策略。您不能调用其他域。如果你能做到,我可以访问你的电子邮件、银行账户等。

如果浏览器支持CORS,并且第三方启用了CORS,那么你就很幸运了。除此之外,您还应该查看可以为您提供信息的JSONP服务。

Javascript具有内置的日期和时间功能。你可以这样得到当前时间:

var now = new Date();
document.write(now);

您可以在这里阅读更多关于使用Javascript的Date对象的信息http://www.w3schools.com/js/js_obj_date.asp