페이지를 다시로드 할 때 양식 제출을 피할 수있는 좋은 방법이 있습니까?페이지 새로 고침시 jQuery로 양식 다시 제출하지 않기
버튼을 클릭했을 때만 jQuery 제출 기능을 추가 할 생각이지만, 아마도 이것을 과장하고 있습니다.
그냥 확인하고 싶습니다.
페이지를 다시로드 할 때 양식 제출을 피할 수있는 좋은 방법이 있습니까?페이지 새로 고침시 jQuery로 양식 다시 제출하지 않기
버튼을 클릭했을 때만 jQuery 제출 기능을 추가 할 생각이지만, 아마도 이것을 과장하고 있습니다.
그냥 확인하고 싶습니다.
양식을 성공적으로 제출 한 후 리디렉션을 수행하십시오. 할 일은 없지만 $ _POST를 지울 것입니다.
header('Location: http://www.example.com/form.php');
이미 사용중인 페이지로 리디렉션하려는 것 같습니다. 확인 메시지를 표시하려면 $ _GET 매개 변수를 URL에 추가하십시오.
이렇게하면 사용자가 페이지를 다시로드 할 때 양식이 다시 제출되지 않습니다.
jQuery를 믹스에 추가하면 자바 스크립트가없는 사용자는 더 이상 양식을 사용할 수 없습니다. 가장 좋은 해결책은 백엔드에서 양식을 두 번 보낼 수 없도록하는 것입니다.
POST 리디렉션 GET.
이 링크는 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – LaGrandMere
난 당신이 그들이 새로운 정보로 서로를 보낼 수 있도록 양식을 재전송하지 않고 페이지를 다시로드 버튼에 찾고있는 가정합니다?
IE : 문의 양식을 제출했습니다. 이제 "다른 페이지 보내기"를 사용하여 페이지를 다시로드해야 양식을 다시 표시 할 수 있습니다.
새로 고치는 대신 jQuery 함수를 사용하여 페이지를 다시로드 할 수 있습니다. 페이지를 동일한 페이지로 "리디렉션"하는 새로 고침 기능을 만드십시오. 페이지를 얻을 PHP 코드
PHP
으로 jQuery를 을var reloadPage = window.location.href;
$('#[button]).on('click',function(){
window.location.replace(reloadPage);
});
사용
경우
<?php
$url = (!empty($_SERVER['HTTPS'])) ? 'https://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>
jQuery를 정말 거기에 여전히 궁금하기 위해 사용
<script type="text/javascript">
$(document).ready(function(e){
$('#[button]).on('click',function(){
window.location.replace('<?php echo $url;?>');
});
});
리디렉션 JS가없는 사용자들 지원하다. 나는 그것들에 대해 걱정하지 않기로 결정했고 많은 JS 기능을 추가했다. 불행히도 그들이 JS를 지원하지 않는다면 내 페이지에서 너무 멀어지지 않을 것입니다. 나는 많은 사람들의 이익을 위해 소수의 몰락을 선택했다고 생각합니다. :) – santa
사실,하지만이 문제가 발생하면 프론트 엔드보다 내 논리를 리팩토링하는 것이 좋습니다. –