2009-12-24 3 views
2

사용자가 브라우저에서 두 개의 동일한 URL을 열었습니다. 사용자가 첫 번째 페이지의 데이터 레코드 편집 모드로 전환했지만 ajax 호출을 사용하여 다른 페이지에서 동일한 db 레코드를 삭제하고 데이터 테이블에서도 해당 작업의 행을 제거했습니다.사용자가 하나의 사용자 ID로 두 개의 동일한 URL을 열었을 때 웹 페이지간에 데이터를 동기화하는 방법

이제 어떻게해야합니까? 두 페이지간에 데이터를 어떻게 동기화 할 수 있습니까? 또는 뭔가해야합니까?

최상의 솔루션은 무엇입니까? 당신이 혜성 솔루션을 찾고있는 것처럼

답변

0

는 소리.

체크 아웃은 ape-project.org 꽤 새로운하지만이 문제를 해결하는 여러 방법이 있습니다

0

(틱) 쉽게 보인다. 그들은 대개 클라이언트 측에서 얼마나 많은 상태를 유지하는지 (즉, 클라이언트 페이지가 서버에 대한 모든 요청에 ​​포함 할 수있는 정보의 양)에 대한 질문으로 이어집니다.

가장 깨끗한 해결책 중 하나는 자주 사용하는 것으로 나타 났지만 Twitter와 같은 다른 주요 사이트에서도 자주 사용됩니다. 클라이언트 페이지는 현재 페이지에 대한 관련 레코드가 변경된 경우 서버에 몇 초마다 묻습니다 (그러므로 필요한 유일한 상태는 페이지가 마지막으로로드 된 시간 스탬프입니다). 그렇다면 사용자에게 페이지의 유효 기간이 만료되어 다시로드해야 함을 나타내는 프롬프트/오류 메시지를 표시합니다.

는 SO 페이지를보고있는 동안 답변이 게시 될 때마다이 작업을 수행합니다. Twitter는 새로운 트윗을 언제 사용할 수 있는지 알려줍니다 (특정 사용자 또는 검색 대상).

더 많은 무의미한 접근법이 새로운 무언가 또는 게시물과 같은 항목을 실제로 자동으로로드하는 더 무거운 아약스 앱에서 자주 사용됩니다. 이를 위해서는 이미로드 된 항목과로드되지 않은 항목 및 페이지에 넣을 위치에 대한 정보가 필요합니다.

정말 삭제 될 수있는 리소스의 경우 일반적으로 첫 번째 옵션을 선호하지만 여러면에서 우선 순위를 선호합니다.

관련 문제