2011-08-07 4 views
0

안녕하세요 저는 아래 스크립트를 가지고 있습니다 : 기본적으로 나는 네비게이션 앵커 "다음"과 "prev"를 증가 시키거나 감소시켜 currentDate 사이를 탐색합니다. 즉, 페이지가로드되면 변수 currentDate를 새로 고칠 수 없습니다. 이 변수는 상태를 유지해야하는 정적 변수와 같아야하지만 아약스 호출이 돌아 오면이 변수는 매번 new Date()로 업데이트됩니다.JavaScript의 글로벌 상태를 유지하는 방법은 무엇입니까?

<script> 
var currentDate = new Date(); 

$(document).ready(function() { 
//ajax call to retrieve some values from the server 
}); 
</script> 

각 아약스 호출이 새로 고침되지 않는 전역 변수를 선언 할 수 있습니까? 아니면이 상황에서 서버에서 업데이트 된 날짜를 얻는 것이 더 좋습니까? 아니면이 상황을 잘못 처리하고 있습니까?

감사합니다.

답변

2

일반적으로 AJAX 호출이 반환되기 때문에 글로벌 javascript 변수는 "new Date()"으로 재설정되지 않습니다. 페이지가 새로 고쳐지면 으로 재설정됩니다. windows.location 호출 또는 페이지를 새로 고치는 AJAX 리턴 핸들러에없는 것이 있습니까?

+0

맞아요, 앵커 태그에서 href 속성을 삭제해야했습니다. – Mayumi

1

currentDate은 아약스 호출마다 변경되지 않습니다. 그렇다면 페이지가 다른 곳으로 설정되거나 페이지 자체가 새로 고쳐집니다.

1

브라우저 다시로드 사이에는 상태가 유지되지 않습니다. 그러나 데이터를 유지하고 페이지로드시 다시 읽을 수있는 여러 가지 가능성이 있습니다. 쓰기 및 데이터 저장소로 창문 페이지 이름을 사용하여 (대부분의 웹 사이트처럼)

  • 쿠키에서 읽어
  • (전용 HTML5에 대한) 자바 스크립트를 로컬 스토리지를 사용하여

    • : 당신은 데이터를 저장할 수 있습니다. (할 Gmail과 같은 응용 프로그램과 같은) 문서의 다음 항목을 충분히 각각에

    을 물건을 유지하기 위해 서버를 사용하여

  • :-)이 내 의견에서, 가장 소름 솔루션은 거기에 있습니다 .

  • 관련 문제