0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
||||||||||||||||
1 | ||||||||||||||||
Передача методом Post без перезагрузки страницы27.05.2013, 02:16. Показов 5033. Ответов 16
Метки нет (Все метки)
Всем привет !
Написал обработчик через ajax post запрос, чтоб он обновлял данные формы без перезагрузки формы, а он не работает, обрабатывает как обычный post запрос с перезагрузкой страницы. Обработчик:
Форма отправки данных:
0
|
27.05.2013, 02:16 | |
Ответы с готовыми решениями:
16
Переделываь часть страницы без перезагрузки страницы Исполнение PHP-скрипта без перезагрузки страницы и без знания JavaScript(!) - Xajax Пример простейшего калькулятора на PHP без перезагрузки страницы (чистый Ajax, без jQuery и других библиотек) Метод POST/GET без перезагрузки страницы |
65 / 65 / 18
Регистрация: 10.03.2013
Сообщений: 188
|
|
27.05.2013, 02:19 | 2 |
data: bl=+"bl"+&at=+"at",
кудато туда копать надо
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
|
27.05.2013, 11:32 [ТС] | 3 |
Пробовал оставлять одну переменную, а не 2 - не помогло. Ошибка где-то глубже
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
27.05.2013, 12:45 | 4 |
Это нужно не для ready документа возвращать, а для функции submit.
Не туда строку вставили, выше перенесите на строку
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
||||||
27.05.2013, 14:07 [ТС] | 5 | |||||
Изменил return false, теперь страница обновляется и зависает, при это выводит пустой экран
Измененный код:
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
27.05.2013, 14:25 | 6 |
а что должно быть? что значит пустой экран? пропадает форма?
Или не чего не выводит в результат? Добавлено через 43 секунды откройте консоль хрома и посмотрите, может есть ошибки.
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
|
27.05.2013, 14:26 [ТС] | 7 |
Должно выводить данные из формы без перезагрузки страницы, а сейчас, после внесения изменения, которые мне написали, вообще страницу не отображает (тексты, таблицы, данные и т.д.)
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
27.05.2013, 14:30 | 8 |
Ну в данном куске JS ошибки нет, значит ошибка в другом месте.
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
|
27.05.2013, 14:36 [ТС] | 9 |
Думаю о нескольких местах:
1. Может в форме где-то ошибка ? Но без яваскрипта она передает методом ПОСТ, но с перезагрузкой страницы 2. Или в выводе данных может ? 3. или из за charset=windows-1251 Уже 4 дня "мучаю" и так и сяк.
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
27.05.2013, 14:40 | 10 |
ЖС работать будет, просто русские символы не будут передаваться через ajax.
Выложили бы не кусками, а полный код страницы, было бы проще, а лучше ещё и ссылку на сайт в живую дали бы. В хроме есть удобная консоль JS, смотрите ошибки, выводите логи из скрипта, смотрите что не так работает...
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
||||||
27.05.2013, 14:55 [ТС] | 11 | |||||
Вот полный код:
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
27.05.2013, 15:02 | 12 |
У Вас что, скрипт шлёт запрос на эту же страницу? Так он получит в ответ полных код страницы, так не делают.
Почитайте про AJAX. Вам нужно возвращать только новые данные, а вы всю страницу принимаете, отсюда может быть конфликт ID тегов и js скриптов, не считая того что у вас в одном окне будет два раза загружен код страницы.
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
|
27.05.2013, 15:09 [ТС] | 13 |
Да, у меня скрипт отправляет повторно данные в это же окно, но по идее, он меняет то только данные формы и исходя из новых данных изменяет таблицу, которая идет ниже. Про ajax уже много прочитал, пробывал уже 2-мя способами данные обновлять, но вот пока стою на месте? Где мне нужно дописать и что (если знаете) - все никак "прорваться не могу!
А почему всю страницу принимает, если я скрипт привязываю только к к кнопке отправки в форме ?
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
27.05.2013, 15:24 | 14 |
Видимо вам нужно для начала про то что такое веб страница, веб сервер, браузер и html почитать
Вы не понимаете как оно работает. У вас есть скрпит, генерирующий вэб страницу. Браузер послал запрос на сервер. Сервер отдал ему страницу. Потом ajax послал опять запрос на сервер. Естественно сервер опять отдаст страницу. Всё что скрипт отдаёт на запрос, вам и вернётся. Как я и писал выше Для этого либо помещайте скрипт обработки формы в отдельный файл, либо проверяйте HTML заголовки, при ajax запросе, у вас будет заголовок X-Requested-With со значением XMLHttpRequest. Но в таком стиле написания сайта, как у Вас, отсекать весь лишний код будет не удобно, у вас нет шаблонизации. Так тчо лучше делайте отдельный скрипт обработчик формы.
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
|
27.05.2013, 15:42 [ТС] | 15 |
Отдельный скрипт обработчика формы я могу сделать, а как же тогда результаты переменной вернуть из того скрипта сюда без перезагрузки страницы ?
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||||
27.05.2013, 15:46 | 16 | |||||
Ну видимо вы плохо читали про Ajax.
То есть в этой функции вы помещаете в div с id = result, весь текст который пришел в ответ на ajax запрос.
0
|
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 11
|
|
27.05.2013, 16:44 [ТС] | 17 |
Буду пробовать - результат напишу.
0
|
27.05.2013, 16:44 | |
27.05.2013, 16:44 | |
Помогаю со студенческими работами здесь
17
Отправка post запроса без перезагрузки страницы Передача переменных в браузер без перезагрузки страницы Select передача выбранного значения на сервер без перезагрузки страницы ASP.NET Core. Передача данных на сервер без перезагрузки страницы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |