2009-11-17 2 views
1

브라우저에 "이 페이지를 새로 고치려면 정보를 다시 보내야 함"또는 이와 비슷한 메시지가 표시되지 않는 양식의 경우 javascript : location.reload (true)를 동작으로 사용할 수 있습니까? 양식 작업은 현재 onsubmit = 대신 처리됩니다.javascript reload

+0

기입 할 수 있도록 두 번째 AJAX 이것은 일반적 방법은 "포스트"경우에 발생

  • 빈 양식을 호출합니다. "get"을 사용하면 메시지가 없습니다. 그러나 더 좋은 방법이 있는지 궁금합니다. – MPelletier

  • 답변

    0

    을 시도 양식을 제출하지 않고 페이지를 다시로드하려면 어쨌든 페이지를 새로 고침해야하는 경우 얻을 수 있습니다. 양식 중 정상적인 게시물을 사용하거나 @Bob의 솔루션을 사용하는 것이 좋습니다 (게시하여 입력하지 않아도 됨). window.location=window.location을 사용하는 경우 onsubmit 메서드가 완료된 후에 호출해야하며, onsubmit 메서드가 데이터를 보내기 전에 리디렉션되는 경쟁 조건을 도입 할 수 있습니다.

    편집 :

    그냥 자세한 정보를 제공하는 당신의 코멘트를 읽어 보시기 바랍니다. 다시 AJAX 제출에 대한 응답으로 전체 페이지를 다시로드하면 AJAX 사용 목적이 완전히 상실됩니다. jQuery와 같은 Javascript 라이브러리를 사용하는 것이 좋습니다.

    1. 바꾸기 AJAX
    2. 으로 요청이 완료되면 가
    3. 이 페이지의 변경된 부분을 요청할 AJAX
    4. 으로 제출하거나 대한 응답으로 페이지의 콘텐츠를 추가 처리 : 다음과 같이 기본적으로 패턴 될 그것은 다시
    1

    Reload는 사용자가 POST 데이터에서 왔을 때 다시 보내는 정보에 대해 질문합니다. 내가하는 일을 모르기 때문에 구체적으로 대답하는 것이 어렵습니다. 이것은 브라우저의 기록에있는 것으로 막을 수 없습니다.

    더 나은 솔루션은 PRG 패턴을 사용하는 것입니다.

    http://en.wikipedia.org/wiki/Post/Redirect/Get

    +0

    기본적으로 양식을 만들려고하지만 사용자가 양식을 제출할 때 페이지 이동을 원하지 않지만 제출 된 새 정보로 다시로드하고 싶습니다. –

    +0

    XMLHTTPRequest를 읽는 것이 가장 좋습니다. 당신이 설명하는 것은 AJAX가하는 일입니다. –

    +0

    처음에는 P/R/G를 구현하는 것이 가장 좋습니다. 그래서 어디에서나 잘 작동합니다. 그리고 정말로 필요한 경우 위에 점진적 향상 XMLHttpRequest 소스를 추가하십시오. – bobince

    1

    당신은 당신이 아무것도 때문에 왜 질문을 구걸 onsubmit 이벤트에 AJAX 요청과 양식을 처리하는 것 window.location=window.location;