Как мне использовать Ajax с jQuery в Perl? - PullRequest
1 голос
/ 14 ноября 2009

Если я вызываю эту функцию напрямую, она работает нормально, но если я вызываю ее из Javascript с помощью вызова ajax, она не будет работать правильно.

Я выяснил причину этого, потому что я использовал $ (document) .ready (function ..), где я должен вызывать функции непосредственно после того, как ajax возвращает результаты.

Ответы [ 3 ]

4 голосов
/ 14 ноября 2009

Как минимум, ваш скрипт Perl должен выводить следующий вид текста перед любым другим выводом:

Content-Type: text/html

Обратите внимание, что после строки Content-Type должна быть пустая строка.

Если вы не сделаете этого, сервер не отправит текст в JavaScript. Обычно это отключает линию

alert('There was a problem with the request.');

в вашем JavaScript. Если вы изучите значение переменной .status, оно должно быть равно 500, код ошибки, который указывает на сбой вашего скрипта.

3 голосов
/ 14 ноября 2009

Хотя это немного недокументировано (по крайней мере, для тех, кто еще не слишком близко знаком с самим jQuery), вы взглянули на JQuery на CPAN?

3 голосов
/ 14 ноября 2009

Так запутанно, ваш perl-код просто выводит html без каких-либо заголовков (например, типа контента). Ваш javascript, похоже, не использует jQuery, и ни один из упомянутых идентификаторов не появляется нигде в вашем примере.

Вы хотели использовать load что-то вроде: $('#view_span').load('filename_ajax.cgi');?
Или, возможно:

$('#view_span').load(
  'filename_ajax.cgi',
  {'target': escape(encodeURI('get_section'))},
  alertViewResult);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...