2012-03-06 118 views
1

我需要从某些在线源获取时间 - NTP服务器,JSON时间服务器,或者可能只是HTTP头部的事件。我不在乎精确度,但我确实需要从网上来源获得时间。我无法访问任何服务器,因此我无法编写任何服务器端代码。如何从使用AJAX的其他服务器获取时间?

我不能这样做使用HTTP请求来获取标题,因为我猜它会违反相同的来源策略。

我似乎无法找到一种不涉及某种程度的PHP或其他语言的方法 - 我只能使用HTML/CSS/JS ......没有其他的东西!

任何想法?

+0

你打算问这个问题多少次? – epascarello 2012-03-06 01:54:31

+0

直到我得到我需要的答复。这是一个民主社区。 – antonpug 2012-03-06 01:57:17

回答

2
$.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" 
}); 
+0

您在示例中错过了逗号,我在 – epascarello 2012-03-06 14:49:05

+0

中添加了它,谢谢,这看起来不错。几个问题 - 美元符号意味着什么?我怎样才能在pageload上运行这段代码? – antonpug 2012-03-06 16:08:28

+0

它是jQuery库的变量引用,对于AJAX抽象很有用。 – Eli 2012-03-06 23:20:46

-2

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

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

您可以在此处详细了解http://www.w3schools.com/js/js_obj_date.asp

+1

http://w3fools.com/ – epascarello 2012-03-06 01:58:39

+2

w3schools.com ==='evil' – Eli 2012-03-06 02:24:01

0

JavaScript有一个相同的起源政策使用JavaScript的Date对象。您无法拨打其他网域的电话。如果你能做到这一点,我可以访问你的电子邮件,银行账户等。

如果浏览器支持CORS,并且第三方已启用它,那么你很幸运。除此之外,你应该看看可以给你信息的JSONP服务。

相关问题