브라우저에 "이 페이지를 새로 고치려면 정보를 다시 보내야 함"또는 이와 비슷한 메시지가 표시되지 않는 양식의 경우 javascript : location.reload (true)를 동작으로 사용할 수 있습니까? 양식 작업은 현재 onsubmit = 대신 처리됩니다.javascript reload
답변
을 시도 양식을 제출하지 않고 페이지를 다시로드하려면 어쨌든 페이지를 새로 고침해야하는 경우 얻을 수 있습니다. 양식 중 정상적인 게시물을 사용하거나 @Bob의 솔루션을 사용하는 것이 좋습니다 (게시하여 입력하지 않아도 됨). window.location=window.location
을 사용하는 경우 onsubmit
메서드가 완료된 후에 호출해야하며, onsubmit 메서드가 데이터를 보내기 전에 리디렉션되는 경쟁 조건을 도입 할 수 있습니다.
편집 :
그냥 자세한 정보를 제공하는 당신의 코멘트를 읽어 보시기 바랍니다. 다시 AJAX 제출에 대한 응답으로 전체 페이지를 다시로드하면 AJAX 사용 목적이 완전히 상실됩니다. jQuery와 같은 Javascript 라이브러리를 사용하는 것이 좋습니다.
- 바꾸기 AJAX
- 으로 요청이 완료되면 가
- 이 페이지의 변경된 부분을 요청할 AJAX 으로 제출하거나 대한 응답으로 페이지의 콘텐츠를 추가 처리 : 다음과 같이 기본적으로 패턴 될 그것은 다시
Reload는 사용자가 POST 데이터에서 왔을 때 다시 보내는 정보에 대해 질문합니다. 내가하는 일을 모르기 때문에 구체적으로 대답하는 것이 어렵습니다. 이것은 브라우저의 기록에있는 것으로 막을 수 없습니다.
더 나은 솔루션은 PRG 패턴을 사용하는 것입니다.
기본적으로 양식을 만들려고하지만 사용자가 양식을 제출할 때 페이지 이동을 원하지 않지만 제출 된 새 정보로 다시로드하고 싶습니다. –
XMLHTTPRequest를 읽는 것이 가장 좋습니다. 당신이 설명하는 것은 AJAX가하는 일입니다. –
처음에는 P/R/G를 구현하는 것이 가장 좋습니다. 그래서 어디에서나 잘 작동합니다. 그리고 정말로 필요한 경우 위에 점진적 향상 XMLHttpRequest 소스를 추가하십시오. – bobince
당신은 당신이 아무것도 때문에 왜 질문을 구걸 onsubmit
이벤트에 AJAX 요청과 양식을 처리하는 것 window.location=window.location;
기입 할 수 있도록 두 번째 AJAX 이것은 일반적 방법은 "포스트"경우에 발생