2012-10-15 5 views
0

페이지에 프로젝트 및 작업 목록이 있습니다. 나는 단순히 누군가가 작업 기록을 편집하고있는 것을 보여주기를 기대하고있다. jquery가 데이터베이스 변경 사항을 수신하고 행을 "잠김"으로 표시하는 방법은 매우 간단합니다. 아무 것도 사용할 수 없도록 설정하지 않고 누군가가 변경 작업을 수행하고 있음을 나타냅니다.jquery 데이터베이스 변경 수신 대기

사용자가 페이지를 새로 고침하여 변경 사항이 저장되었을 때 업데이트 된 데이터를 표시하도록 할 수있었습니다.

덕분에, 바트

+2

아약스 호출을 사용하고 서버 측에서 잠금 로직을 사용하면됩니다. 작업이 잠겼는지 여부를 확인하기 위해 클라이언트에서 계속 Ping합니다. – Amareswar

+0

감사합니다. 단지 100 년대의 작업으로 클라이언트 측 메모리를 많이 먹을 수 없다면 골치가 아플까요? 아니면 그렇게 할 수있는 가벼운 방법의 예가 무엇입니까? –

+0

주어진 목록에서 모든 잠긴 작업을 요청하는 하나의 아약스 요청을합니다. 이 방법은 하나의 아약스 전화로 충분합니다. – Amareswar

답변

1

setInterval() 트릭을 할해야합니다. DB가 여전히 잠겨 있는지 확인하기 위해 JS 핑을 백엔드로 보내주기 만하면됩니다.

또한 jQuery와 AJAX를 사용하면 잠금 해제 된 페이지를 새로 고칠 필요가 없습니다. 의사 코드 :

setInterval($.get(attrs to whatever back end script that will actually do the heavy lifting), 5000); // ping every five seconds 

// in $.get, you can display different things based on whether or not the back end 
// response says it's locked 
+1

감사합니다 케빈 나는 이것을 줄 것이다 –

관련 문제