/ / Как да получите дата на сървъра чрез JavaScript? - javascript, angularjs

Как да получите дата на сървъра чрез JavaScript? - javascript, angularjs

Аз съм с AngularJS клиент-страна прилагане иработа с дата и час. Моят проблем е, че локалната система дата някой може да промени, за да се защити това Искам да използвам сървър дата, без да получите или пост заявка. Има ли някакъв начин да получите дата на сървъра чрез JavaScript?

Отговори:

1 за отговор № 1

Ако използвате JavaScript на от страна на клиента, единственият начин да намерите сървър времето е пита сървърът какво е текущ време. Тук няма магия. Трябва да подадете заявка до сървъра.

Настроики:

  1. употреба AJAX или донасям.
  2. Ако HTML страницата се изобрази на сървъра, можете да напишете текущото време по време на рендирането на страницата и да го изпратите на клиента.

Моля, имайте предвид, че не е възможно да имате a точно времето на сървъра поради закъснения в мрежата, но можете да се доближите с помощта на кода този отговор (Модифициран):

var offset = 0;
function calcOffset() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "https://stackoverflow.com/", false);
xmlhttp.send();

var dateStr = xmlhttp.getResponseHeader("Date");
var serverTimeMillisGMT = Date.parse(new Date(Date.parse(dateStr)).toUTCString());
var localMillisUTC = Date.parse(new Date().toUTCString());

offset = serverTimeMillisGMT -  localMillisUTC;
}

function getServerTime() {
var date = new Date();

date.setTime(date.getTime() + offset);

return date;
}