2012-01-30 3 views
0

AJAX로 작업할수록 같은 문제에 직면하게됩니다. 화면의 데이터를 최대한 최신 상태로 유지하고 싶지만 1 초마다 같은 데이터를 다운로드하는 것이 좋습니다. 데이터는 30 분마다 한 번만 변경 될 수 있지만, 변경 될 경우 즉시 사용자에게 피드백을 보내고 싶습니다.AJAX 새로 고침 - 변경되었을 때만 업데이트됩니다. 좋은 해결책이 있습니까?

이전 데이터 간의 차이를 설명하는 데이터를 반환하도록 내 서버 측 스크립트를 가져 오는 것이 좋은 해결책이 될 수 있지만 항상 그럴 가능성은 아닙니다.

이것에 대한 깔끔한 해결책이 있습니까? 아니면 이것과 함께 살 것입니까?

답변

0

매번 서버를 쿼리해야합니다. 당신이 할 수있는 일은 서버에서 새로운 데이터가있을 경우 그것을 테스트하고, 그렇지 않다면 단지 'false'와 같은 것을 반환하기 때문에 콜백은 아무것도하지 않고 매번 전달되는 데이터가 줄어 듭니다.

1

Nodejs 및 Socket.io. 그것은 완전히 다른 작동합니다. 솔루션에서 각각의 열린 창은 서버에 요청을 전송하므로 결과적으로 매우 많은 양의 쓸모없는 요청이 있습니다. Sokcet.io가있는 Nodejs는 실제 PUSH 엔진입니다. 소켓으로 사용자를 연결하고 알림을 보내거나 페이지를 새로 고쳐야하거나 데이터 자체를 업데이트 할 수 있습니다.

NodejsSocket.io 링크입니다.

0

당신은 혜성 또는 긴 폴링 기법을 찾고 있습니다. http://www.ibm.com/developerworks/web/library/wa-reverseajax4/?ca=drs-
또한, JQuery와 또는 도장 작업을 할 cometd 웹 사이트 : https://github.com/Atmosphere/atmosphere
을 또한 여기 : http://jfarcand.wordpress.com/2010/06/15/using-atmospheres-jquery-plug-in-to-build-applicationsupporting-both-websocket-and-comet/

http://cometd.org/ I

또 다른 해결책은 분위기가 여기에 좋은 설명과 함께 일반적인 설명입니다

관련 문제