| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > Ajax + jquery..не получается |
| Автор: EmilRegis 13.11.2009, 10:14 | ||||
| Добрый день...Прикрутил к своему проектику jquery и раз уж так случилось, решил укоротить код и переписать ajax-запрос под jquery... Вот так выглядит мой старый код и всё работает
а вот так выглядит код переписанный под jquery
и он не работает...При этом я могу видеть, что при нужном мне событии данные куда-то улетают))то есть идёт соединение, но на этом всё...Возможно в этом случае у меня адрес неправильно прописан? |
| Автор: IDVsbruck 13.11.2009, 14:03 |
| Возможно, и адрес. А на сервере нет возможности посмотреть, выполняется ли код/скрипт? Плюс, если на сервере не менялось, то там обработка может стоять GET-протокола, а тут POST. Советую использовать $.ajax() - там есть обработчик как success, так и error - при отладке значительно удобнее. |
| Автор: Любитель 13.11.2009, 22:48 |
| Как минимум, в одном случае у вас гет, в другом пост. И с разным именем параметра. Вы уверены, что на сервере они одинаково обрабатываются?! |
| Автор: EmilRegis 14.11.2009, 12:08 |
| да уверен...дело в том, что я отчаявшись пробовал и с гетом и с постом)) и ни то, ни другое не работало... Серверный код, так уж сложилось, написан на pl/sql, которому помоему вообще не важно гетом или постом ему данные приходят... действительно наверное посмотрю $.ajax() Добавлено через 59 секунд а вот это не очень понял...где там разное имя параметра? в обоих случаях имя username Добавлено через 2 минуты и 3 секунды ёмаё...я ж чёрточку пропустил |
| Автор: Любитель 14.11.2009, 12:15 |
| С "чёрточкой" работает? |
| Автор: EmilRegis 14.11.2009, 12:16 |
| всё, теперь заработало...просто надо было имя параметра написать username_, а я написал username |
| Автор: yalo 22.11.2009, 08:23 | ||||
| читала тему чтобы самой научиться быстро аякс подключать через jquery, вроде все понятно, но не понятен один момент (конкретно на данном примере): каким образом при переписывании яакса под джквери мы в функцию onAjaxSuccess передаем непосредственно то, что допереписывания называлось res_data = ""+req.responseText; Ничего не пропущено в месте
и если не пропущено, то каким волшебным образом дальнейшая функция
знает, что принимаемый в нее параметр res_data - это тот самый req.responseText? |
| Автор: Любитель 22.11.2009, 12:39 |
| jQuery умеет обрабатывать респонс., выдёргивая данные. Причём различным образом для разных типов данных (для get/post по дефолту - html). |
| Автор: Любитель 22.11.2009, 20:32 |
| Этот колбек вызывает jQuery, данные берутся (в текущей версии) через jQuery.httpData. В чём вопрос-то, я не пойму тогда? |
| Автор: yalo 22.11.2009, 21:52 | ||||
ну вот смотрите, Любитель,
ну и ниже описание этой функции onAjaxSuccess, потом переписали и получили:
и вроде как после переписывания функция onAjaxSuccess в ее определении тоже принимает параметр, но где видно в коде $.post( ... ), что этим параметром у onAjaxSuccess будет ответ респонз? или в этой обертке post (так кажется называется?..) третий параметр - функция всегда принимает входящим параметром респонз? без вариантов то есть?.. |
| Автор: Любитель 22.11.2009, 22:45 |
| Ну так вы доках по jQuery же всё написано! По сути, в данном случае можно смотреть доку по jQuery.ajax (почти цитирую): success (как раз этот колбек) - A function to be called if the request succeeds. The function gets passed two arguments: The data returned from the server, formatted according to the 'dataType' parameter, and a string describing the status. ... jQuery will intelligently pass either responseXML or responseText to your success callback |