쿠키에 대한 사용자의 응답 (객관식)을 저장하고 있습니다. 서버는 사용자가 20 개의 질문을 시도한 후에 만 쿠키에서 데이터를 추출합니다. 문제는 사용자가 시도한 경우에만 10 개의 질문을하고 사이트를 떠난 경우입니다. 쿠키의 응답을 서버에서 사용할 수 없습니다. 요구 사항으로 인해 모든 페이지로드에서 쿠키 데이터를 추출 할 수 없습니다. 나는 여분의 데이터가 서버와 동기화 될 수 있도록 쿠키가 만료되기 전에 페이지로드를 트리거하려고 생각했습니다. 그러나 could'nt는 어떤 해결책을 발견한다. 페이지로드없이 서버에 쿠키 데이터를 보냅니다.
이 문제에예를 들어 어떤 포인터를 감사 : 500 페이지, 모두 객관식 질문입니다이 있습니다. 사용자가 첫 번째 질문을 시도하면 답변이 쿠키에 기록됩니다. 두 번째 페이지/두 번째 질문/다음 페이지로드. 서버는 쿠키를 찾습니다 ... 단 하나의 레코드 만 있기 때문에 아무것도하지 않습니다. 다음 질문 ... 다시 사용자 응답이 쿠키에 저장됩니다. 서버는 20 개의 레코드를 찾을 때까지 아무것도하지 않습니다 (20 개의 레코드 표시기는 플래그가 플러시로 주어지며 서버가 20 개의 레코드/질문 모두의 쿠키 데이터를 추출하고 데이터베이스를 업데이트하면 쿠키를 지우고 20 개의 레코드를 다시 기다립니다). 서버가 마지막으로 페이지로드 때까지 추출되지 않았기 때문에 전에 추출. 사용자가 쿠키에 기록하고 사이트를 남긴다 (10) 다음 질문을 해결되는지 지금 , 그 여분의 10 개 질문이 손실됩니다.
감사합니다, 판 카지
사용자가 페이지에서 다른 곳으로 이동할 때 기능 (예 : AJAX 요청)을 실행하려면 어떻게해야합니까? 'beforeunload' [이벤트] (https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload)를 조사해야합니다. 당신이 다른 것을 요구하고 있다면, 나는 그것이 무엇인지에 대해 명확하지 않습니다. –
사용자가 사이트를 떠나기로 결정한 시점을 알 수 없으므로 쿠키가 만료되기 전에 트리거가 발생해야합니다. 또는 사용자가 사이트를 탐색 한 후에 쿠키 데이터를 서버로 보낼 수있는 방법이 있습니다. – user34484
세션 쿠키를 사용하는 것처럼 들리지만 실제로 세션을 종료하지 않고도 사용자가 사이트를 떠날 수 있다는 점에 유의하십시오. 세션은 대개 * 브라우저 *가 닫힐 때 종료됩니다. –