Сбой $ .post с ошибкой "... это не функция" - PullRequest
3 голосов
/ 12 мая 2011

Вот мой код:

var jqxhr = $.post("mypage.php", {url:pageurl}, function() {
      alert("fetching...");
})
.success(function() { alert("fetch complete!"); })
.error(function() { alert("error!"); })
.complete(function() { alert("complete"); });

// Set another completion function for the request above
jqxhr.complete(function(){ alert("second complete"); });

Я получаю диалоговое окно с предупреждением («Извлечение ...»), но остальная часть кода не завершена.Я получаю сообщение об ошибке: Ошибка: $ .post ("sec_fetch_report.php", function () {alert ("fetching ...");}). Success - это не функция

Я подумал, что мог бымне не хватает библиотек jquery, но у меня есть другая функция, которая вызывает $ .post, и она работает нормально.Есть ли синтаксическая ошибка, которую я где-то пропустил или как?Спасибо

Ответы [ 4 ]

7 голосов
/ 12 мая 2011

Ваш синтаксис нарушен. Вы пытаетесь вызвать свойство .success метода $ .post (), которого, очевидно, не существует. Похоже, вам также нужно использовать метод $.ajax вместо $.post:

 $.ajax({
     type: 'POST',
     url: 'mypage.php',
     data: { url: pageurl },
     beforeSend: function()
     {
         alert('Fetching....');
     },
     success: function()
     {
         alert('Fetch Complete');
     },
     error: function()
     {
         alert('Error');
     },
     complete: function()
     {
         alert('Complete')
     }
 });
2 голосов
/ 12 мая 2011

Этот синтаксис поддерживается только в jQuery 1.5+ (с введением deferreds). Похоже, вы используете более раннюю версию jQuery. Если вы не можете выполнить обновление, передайте обработчики success / error / complete как методы объекта параметров (как в примере Tejs).

1 голос
/ 12 мая 2011

Объект jqxhr является цепным начиная с версии 1.5.Убедитесь, что у вас установлена ​​эта или более поздняя версия.

Ссылка: Выпущена jQuery 1.5, теперь с отложенными объектами

0 голосов
/ 12 мая 2011

Смотрите примеры здесь: jQuery.post

также вы можете получить такую ​​ошибку, если забыли связать библиотеку jQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...