| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > perl + jquery: не могу получить ответ от сервера |
| Автор: fanat1k 13.4.2010, 12:24 | ||||
Вот небольшой пример кода, пусть test1.cgi
check_user.pl:
Все работает хорошо, кроме одного. Я не могу поймать ответ от сервера. Код alert("response" + theResponse) показывает только "response". В чем проблема ? Пробовал заголовки менять. Или подскажите модуль который упростит мне жизнь. И еще вопрос, касательно jquery. Код "\$("<h1>TEST</h1>").appendTo("#mydiv")", который после alert("checking") срабатывает, но только на мгновение появляется TEST и исчезает. Почему так ? А внутри функции этот код вообще не отрабатывает и даже не срабатывает alert("END") который идет за ним. Спасибо. |
| Автор: fanat1k 13.4.2010, 14:24 | ||
| Какая то магия для меня этот JavaScript. Начал изучать Firebug и немного поклацав ... о чудо! При установке брейкпоинта в точке "alert("response: " + theResponse)" он мне вернул ответ! Убрал - ответа нету, установил - есть. Или вот еще упрощенный кусок кода из приведенного выше
Вылазят оба алерта, END2 поверх END. Если закомментировать END2, то и END не срабатывает!!! В итоге у меня код, приведенный в первом посте работает и я получаю ответ от сервера, если я добавлю alert("END2")! Для меня это все выглядит как минимум бредово. Продолжаю копаться в Firebug'e. Буду очень благодарен, если кто прольет свет на тьму моего JS и jquery. Спасибо. |
| Автор: gcc 14.4.2010, 11:17 |
| данные с js в perl вообще передаються? если, да то в данном случае вопрос по js... спрашивайте в разделе про js я например, не понял зачем так писать \$.post("/cgi-bin/check_user.pl", {u: u}, function(theResponse){ onSubmit="check_username()" (можно click поставить просто) ? что значит {u: u} ? |
| Автор: fanat1k 15.4.2010, 10:59 | ||||||||
да, передаются. имя переменной успешно логируется:
$.post - аякс запрос. вызывать можно по многим событиям (onSubmit, onChange, и т.д.)
вторая u: то что введено в поле <input type="text" name="username" value="" id="username_id">. var u = \$("#username_id").attr("value"); первая u: имя переменной, которая будет доступна в перле: my $user_name = param('u') PS: так как данные с сервера у меня получается получить при определенных обстоятельствах описанных в моем втором посте, а также следую вашему совету я иду в раздел JavaScript. Всем спасибо. |