2013-03-28 4 views
0

У меня есть REST Url http://localhost/issues, представляющий мне форму поиска для запроса проблем системы отслеживания ошибок. Форма поиска имеет текстовое поле с name="f". Действие формы: action="/issues" и method=GET. Поэтому, если я набираю «foobar» в текстовое поле, меня перенаправляют на http://localhost/issues?f=foobar.jquery ajax форма поиска

Чтобы предотвратить перезагрузку страницы, я использую AJAX с jquery. Поэтому я использовал $(document).on('submit',...) для привязки функции запроса AJAX к функции отправки формы. Я использовал firebug для proove, этот jquery отправляет запрос, и перезагрузка страницы не выполняется. У меня также есть функция для заполнения результатов ответа на моем сайте, представленном в браузере. Все работает отлично для первой попытки поиска.

Но если я нахожу в текстовое поле еще одну строку поиска «anotherfoobar» и повторно отправляет запрос, URL-адрес запроса http://localhost/issues?f=foobar&f=anotherfoobar, поэтому параметр поиска добавляется только к URL-адресу, а не обновляется, поскольку я думал, что это произойдет.

Я прочитал о «хэшировании» параметров URL, чтобы предотвратить это поведение здесь, в stackoverflow, но не совсем понял, что и почему это происходит, и что «хеширование» означает точно. Возможно, это неправильное решение для меня. Поэтому я прошу кого-то объяснить мне, как я могу это решить.

ответ

0

Я решил! Не спрашивайте, как именно, что я сделал:

Ответ AJAX - это вся веб-страница, так как я бы получил ее с перезагрузкой страницы. с jquery Я выбираю div, который включает в себя форму поиска И результаты.

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

Другой случай, не зная, что я делаю, но я делаю это прекрасно;)

Возможно, кто-то еще может объяснить мне мою ошибку, так мудрость может подняться.

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