jQuery / Ajax / javascript в FireFox Ошибка при использовании $ .post / $. get - PullRequest
0 голосов
/ 12 октября 2009

необработанное исключение: [Exception ... »Компонент возвратил код ошибки: 0x80004005 (NS_ERROR_FAILURE)» nsresult: «0x80004005 (NS_ERROR_FAILURE)» расположение: «JS-фрейм :: http://localhost/scripts/jQuery.js :: anonymous :: строка 808 "данные: нет]

Строка 0

- это ошибка, которую я получаю, когда поднимаю firebug. Это происходит только в Firefox (и, возможно, в других браузерах), но код отлично работает в IE8.

У меня есть такие коды в jquery:

$("#Logout").live("click", function (e) {
  e.preventDefault(e);
  $.post("/logout.php", {}, function () {
    //--a bunch of animations--//
    window.location = "/login.php";
  }
});

Понятия не имею, что не так, даже сообщение об ошибке не помогает вообще.

внутри logout.php:

<?php
  session_start();
  session_destroy();
?>

Также не работает, если я использовал GET или вставил фантомные данные. Или есть более элегантный способ сделать это?

Ответы [ 3 ]

0 голосов
/ 12 октября 2009

Очень сложно декодировать эти типы сообщений об ошибках. Что я бы предложил сделать, так это если у вас не слишком много кода, удалите несколько из этих строк и посмотрите, исправит ли это ошибку. Просто продолжайте удалять / заменять код, пока ошибка не исчезнет, ​​и вот в чем проблема.

Обычно я пытаюсь найти его, если получаю такие общие сообщения об ошибках. И обычно проблема в последнем, что я коснулся.

0 голосов
/ 12 октября 2009

решаемая.

Понятия не имею, почему это так. ошибка не в $ .get, а в одной из анимаций.

так как у меня были анимации до фактического выхода из системы, мне нужно было отложить выход из системы, и, таким образом:

$("#Logout").live("click", function(e) {
  e.preventDefault();
  $.get("/logout.php", {}, function() {
    //--bunch of animations--//
    $(this).animate({delay:1}, DURATION, function() {
       window.location = '/login.php';
    });
  });
});

это сработало после того, как я изменил "$ (this) .animate (..)" на что-то другое, например. "$ (" Тело "). Анимировать (..)". вроде как столкнулся, почему firefox читает $ (this). animate к такой ошибке. # Выход - якорь между прочим

например

<a id='Logout' href='#'>Logout</a>
0 голосов
/ 12 октября 2009

Самый простой способ отладить этот тип ошибки - это установить точку останова в коде и проходить по ней до тех пор, пока вы не получите ошибку, или закомментировать части кода, которые, по вашему мнению, могут вызвать ошибку. Начните с комментирования всей функции обратного вызова события, и, если ошибка исчезла, раскомментируйте разные строки. Когда вы узнаете, какая линия вызвала это, вы также можете узнать, почему это вызвало это. Если вы не знаете, спросите здесь.

Без всего вашего кода нам трудно сказать вам, в чем причина проблемы.

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