Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Methode zum Abrufen der serverseitigen Zeit

JavaScript-Methode zum Abrufen der serverseitigen Zeit

高洛峰
高洛峰Original
2016-12-03 15:14:171623Durchsuche

Es gibt einen Fehler bei der Verwendung von js zur Zeitkorrektur und zum Abrufen der Ortszeit.

Die Serverzeit kann auch mit js abgerufen werden. Das Prinzip besteht darin, eine Ajax-Anfrage zu verwenden, und die zurückgegebenen Header-Informationen enthalten einfach die serverseitigen Zeitinformationen. Folgendes:

1. Abhängig von jQuery

Code:

function getServerDate(){
return new Date($.ajax({async: false}).getResponseHeader("Date"));
}

Die obige Funktion gibt ein Date-Objekt zurück Beachten Sie, dass bei Verwendung von Ajax eine Synchronisierung erforderlich ist, da sonst Uhrzeit und Datum nicht zurückgegeben werden können.

Der Anforderungslink muss nicht ausgefüllt werden.

Wenn zwischen der Serverzeit und der Ortszeit ein Unterschied besteht, muss eine Korrektur vorgenommen werden.

2. Nativer

-Code:

function getServerDate(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new window.XMLHttpRequest();
}else{ // ie
xhr = new ActiveObject("Microsoft")
}
xhr.open("GET","/",false)//false不可变
xhr.send(null);
var date = xhr.getResponseHeader("Date");
return new Date(date);
}

gibt auch ein Date-Objekt zurück, xhr.open( ) muss Verwenden Sie die Synchronisierung.

Der Anforderungslink muss nicht ausgefüllt werden. Öffnen, Senden und getResponseHeader müssen in der richtigen Reihenfolge geschrieben werden.

Wenn Sie asynchrone Anforderungen verwenden müssen, können Sie den Status onreadystatechange abhören, um verschiedene Vorgänge auszuführen.

Der Code lautet wie folgt:

function getServerDate(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new window.XMLHttpRequest();
}else{ // ie
xhr = new ActiveObject("Microsoft")
}
xhr.open("GET","/",true);
xhr.send(null);
xhr.onreadystatechange=function(){
var time,date;
if(xhr.readyState == 2){
time = xhr.getResponseHeader("Date");
date = new Date(time);
console.log(date);
}
}
}

Die Verwendung der asynchronen Rückkehrzeit ist nicht sehr praktisch.

Der readyState hat hier vier Zustände, um unterschiedliche Verarbeitungen zu ermöglichen:

0: Die Anfrage ist nicht initialisiert

1: Die Serververbindung wurde hergestellt

2: Anfrage erhalten

3: Anfrage in Bearbeitung

4: Anfrage abgeschlossen und Antwort bereit

Fehlerstatus, Statuswert:

200: „OK „

404: Seite nicht gefunden


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn