Как я могу получить время с другого сервера, используя AJAX? - PullRequest
1 голос
/ 06 марта 2012

Мне нужно получить время из какого-либо онлайн-источника - NTP-сервера, JSON-сервера времени или, может быть, события просто HTTP-заголовка. Меня не волнует точность, но мне нужно получать время из онлайн-источника. У меня нет доступа к серверам, поэтому я не могу написать код на стороне сервера.

Я не могу сделать это, используя HTTP-запрос для получения заголовка, так как полагаю, что это нарушит ту же политику происхождения.

И я не могу найти способ сделать это, который не предполагает какой-либо уровень PHP или других языков - я могу использовать только HTML / CSS / JS ... ничего другого!

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 06 марта 2012
$.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 голосов
/ 06 марта 2012

JavaScript имеет ту же политику происхождения. Вы не можете совершать звонки в другой домен. Если бы вы могли это сделать, я мог бы получить доступ к вашей электронной почте, банковским счетам и т. Д.

Если браузер поддерживает CORS , и у стороннего производителя он включен, вам повезло. Кроме этого, вы должны посмотреть на сервис JSONP, который может дать вам информацию.

0 голосов
/ 06 марта 2012

Javascript имеет встроенную функциональность для даты и времени.Вы можете получить текущее время следующим образом:

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

Подробнее об использовании объекта Date в Javascript можно прочитать здесь http://www.w3schools.com/js/js_obj_date.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...