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

JavaScript-Methode zum Abrufen der serverseitigen Zeit

高洛峰
Freigeben: 2016-12-03 15:14:17
Original
1745 Leute haben es durchsucht

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"));
}
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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);
}
}
}
Nach dem Login kopieren

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


Verwandte Etiketten:
Erklärung dieser Website
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
Aktuelle Ausgaben
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage