2017-02-18 16 views
1

В настоящее время я создаю форму на странице в OctoberCMS, которая выполняет блок кода PHP.Как перезагрузить страницу после сообщения

HTML/Twig:

{{ form_open({ request: 'onHandleForm' }) }} 
    Please enter a string: <input type="text" name="value"/> 
    <input type="submit" name='submitform' value="Submit me!"/> 
{{ form_close() }} 
<p>Last submitted value: {{ lastValue }}</p> 

PHP:

function onHandleForm() 
{ 
    $this['lastValue'] = post('value'); 
} 

Как вы можете видеть, что это очень просто, PHP создает прут тег со значением, равным пользовательского ввода, который затем выводится в HTML.

Однако каждый раз, когда я пытаюсь перезагрузить страницу после отправки что-то я получаю ошибку:

The page that you're looking for used information that you entered. Returning to that page might cause any action you took to be repeated. Do you want to continue?`

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

Пожалуйста, не закрывайте это как дубликат, если какая-либо из существующих сообщений помогла мне, я бы не стал создавать новую.

Update: Я не уверен, но кажется, что перезагрузка страницы не избавившись от ошибок: Я просто добавил onsubmit="window.location.reload()" к моей форме и теперь, когда я представить его перезагружает страницу, но ошибка не будет устранена.

+0

Я не уверен, если это будет работать, но вместо ответа с 200 OK и содержание в POST, попробуйте сказать им перейти на другую страницу для ответа. Я думаю, что это будет 301 или 302, но я не уверен. Они получат это с помощью GET, и обновление страницы не потребует повторной отправки POST для получения обновленного контента. –

+0

* «Пожалуйста, не закрывайте это как дубликат, если бы кто-нибудь из существующих сообщений помог мне, я бы не стал новым». * - Быть кем-то? Вы хотите перенаправить после публикации; Я уверен, что могу найти немало, которые будут рассматриваться как дубликаты. –

+0

Да, я нашел много из них, и ответы были недостаточно конкретными, чтобы помочь. Кроме того, я не мог найти какой-то инкорпорированный Twig. Большинство из них используют файлы PHP, что является вариантом. У меня нет работы с OctoberCMS, и мне не удалось успешно адаптировать их для работы с моим кодом, поэтому я надеюсь, что кто-то узнает метод, который действительно будет работать с моим потому что я потратил 3 часа на то, чтобы исправить эту маленькую вещь. –

ответ

2

Вы можете обновить страницу из обработчика АЯКС внутри контроллера, если вы возвращаете это:

return redirect()->refresh(); 
Смежные вопросы