2016-01-06 2 views
0

У меня есть мнение, которое может либо отобразить форму для создания/редактирования записи, как показано ниже:Как перенаправить страницу после перезагрузки с помощью location.reload()?

Создать

<form action="http://localhost:8000/academics" method="post" class="form-horizontal" id = "add_academic_form" role="form"> 

или

Редактировать

<form action="http://localhost:8000/academics/1" method="put" class="form-horizontal" id = "edit_academic_form" role="form"> 

Когда первый пользователь на сайте на странице, если записи не было, отображается форма создания.

Как только пользователь нажимает кнопку «Далее», ajax используется для отправки формы и перенаправления на следующую страницу. На следующей странице, если пользователь нажимает кнопку «предыдущая кнопка», он перенаправляется на предыдущую страницу, и теперь, поскольку есть запись, отображается форма редактирования, заполненная только что созданным ресурсом.

Это хорошо работает, если я доверяю пользователю использовать разные кнопки (следующий и предыдущий), но становится проблемой, если пользователь сначала заходит на страницу, щелкает рядом с созданием записи и со следующей страницы назад в браузере и нажмите еще раз, чтобы вставить запись несколько раз. Как я могу решить эту проблему?

Я попробовал такой подход, как так, не похоже на работу:

function tough_guy(){ 
    location.reload() 
    window.location.href = data.redirect 
} 
  • После АЯКС успеха, перезагрузите страницу (так что переключатель формы происходит), а затем перенаправить на следующей странице. Он только перенаправляет, но не перезагружает сначала.
+0

window.location.href = data.redirect; этот код недоступен, так как он находится после метода location.reload() –

+0

Фактически происходит перенаправление. Перезагрузка не работает. –

ответ

0

Не можете прокомментировать такую ​​публикацию в качестве ответа, я не мог полностью понять ваш вопрос, но я надеюсь, что следующее поможет.

Попробуйте использовать заголовочные

header('Location: http://yourpage.com/yourphp.php'); 

Источник: Prevent resubmit form after click "back" button

1

заголовок ("место: home.php");

вместо дома укажите местоположение своего файла, которое вы хотите посетить. он работает для меня

Смежные вопросы