перезагрузка JavaScript - PullRequest
       10

перезагрузка JavaScript

1 голос
/ 17 ноября 2009

Можно ли использовать javascript: location.reload (true) в качестве действия = для формы, если браузер не скажет «Чтобы перезагрузить эту страницу, информация должна быть повторно отправлена» или что-то подобное? Вместо этого действие формы обрабатывается с помощью onsubmit =.

Ответы [ 3 ]

1 голос
/ 17 ноября 2009

Если вы просто хотите перезагрузить страницу без отправки формы, попробуйте window.location=window.location;

1 голос
/ 17 ноября 2009

Обновить всегда будет задавать вопрос о том, была ли информация повторно отправлена, если пользователь пришел из данных POSTing. Трудно ответить на что-то конкретное, потому что я не знаю, что вы пытаетесь сделать. Это то, что находится в истории браузера и не может быть предотвращено.

Лучшее решение - использовать шаблон PRG.

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

0 голосов
/ 17 ноября 2009

Похоже, вы обрабатываете свою форму с помощью запроса AJAX в событии onsubmit, в связи с чем возникает вопрос, почему ничего не получится, если вам все равно придется обновить страницу. Я бы предложил либо использовать обычный пост из формы, либо использовать решение @Bob's (которое он спас меня от ввода, отправив первым). Если вы используете window.location=window.location, обязательно вызывайте его после того, что произойдет в вашем методе onsubmit, или вы можете ввести условие гонки, когда оно перенаправляется до того, как ваш метод onsubmit завершит отправку данных.

Edit:

Просто прочитайте ваш комментарий, который предоставил больше информации. Опять же, перезагрузка всей страницы в ответ на отправку AJAX полностью отрицает цель использования AJAX. Вы действительно должны рассмотреть возможность использования библиотеки Javascript, такой как jQuery, чтобы помочь вам в этом. В основном шаблон будет выглядеть следующим образом:

  1. Ручка отправки с AJAX
  2. Когда запрос завершится, запросите только измененную часть страницы с помощью AJAX
  3. Заменить или добавить содержимое страницы с ответом на второй вызов AJAX
  4. Очистите форму, чтобы ее можно было снова заполнить
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...