현재 HTTP POST 양식 및 히스토리 푸시 스테이트에 약간의 문제가 있습니다.history.pushstate 및 HTTP POST 양식 재 게시
내 사용자가 example.com/page-1
에 POST 양식을 제출하고이 페이지 내의 링크를 클릭하면 history.pushstate가있는 example.com/page-2
으로 리디렉션됩니다. JS 스크립트는 현재 URL을 변경하고 기록을 이전 URL로 푸시 한 다음 새 콘텐츠를 표시합니다. 이것은 나를 위해 완벽하게 작동합니다.
문제 : 사용자가 example.com/page-2
에 있고 수동으로 페이지 (CTRL + R 또는 새로 고침 버튼)을 갱신하면,의 Chromes 다시 양식을 제출하라는 메시지를 표시합니다; 그러나이 양식은 실제로 example.com/page-1
에 있었으며이 "새로운"페이지에서 다시 질문 할 이유가 없습니다.
브라우저에서 재 게시 프롬프트를 방지하기 위해 팝업 상태에서 자바 스크립트로 이전에 제출 한 모든 데이터를 지울 수있는 방법이 있습니까? 아니면 내 역사 국가에서 뭔가를 놓치고 있습니까? 또는 브라우저에서 현재 아직 구현되지 않은 기능입니까?
다른 브라우저에서 푸시 스테이트를 구현하지 않았기 때문에 크롬으로 만 테스트했습니다.
안녕하세요, replaceState와 동일한 문제가 있습니다. 문제는 Ajax를 통해 양식을 보내드립니다. 나는 자바 스크립트 history.pushstate를 사용하여 아약스를 통해 폼을 보내지 않고 replacestate하는 것은 jquery, mootools 등을 사용하여 꽤 쉽게 할 수있는 좋은 일이 아니라는 것을 추측한다. – pafounet