>웹 프론트엔드 >JS 튜토리얼 >서버 측 시간을 가져오는 JavaScript 방법

서버 측 시간을 가져오는 JavaScript 방법

高洛峰
高洛峰원래의
2016-12-03 15:14:171666검색

JS를 사용하여 시간 수정 및 현지 시간 가져오기에 버그가 있습니다.

js를 통해서도 서버 시간을 얻을 수 있습니다. Ajax 요청을 사용하는 것이 원칙이며, 반환된 헤더 정보에는 서버측 시간 정보가 포함되어 있습니다. 다음:

1. jQuery에 의존

코드:

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

위 함수는 Date 객체를 반환합니다. . ajax를 사용하는 경우 동기화가 필요하며, 그렇지 않으면 시간과 날짜가 반환될 수 없습니다.

요청 링크는 따로 작성하지 않으셔도 됩니다.

서버 시간과 현지 시간이 다를 경우 수정이 필요합니다.

2. 기본

코드:

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);
}

도 Date 객체를 반환합니다. xhr.open( )은 필수입니다. 동기화를 사용하세요.

요청 링크를 작성할 필요가 없습니다. 열기, 보내기, getResponseHeader를 순서대로 작성해야 합니다.

비동기 요청을 사용해야 하는 경우 onreadystatechange 상태를 수신하여 다양한 작업을 수행할 수 있습니다.

코드는 다음과 같습니다.

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);
}
}
}

비동기 반환 시간을 사용하는 것은 그리 편리하지 않습니다.

여기의 ReadyState에는 다양한 처리를 용이하게 하는 4가지 상태가 있습니다.

0: 요청이 초기화되지 않았습니다

1: 서버 연결이 설정되었습니다

2: 요청 수신

3: 요청 진행 중

4: 요청 완료 및 응답 준비

실패 상태, 상태 값:

200 : "OK "

404: 페이지를 찾을 수 없습니다


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.