2009-10-12 52 views
0

未捕獲的異常:[異常...「組件返回失敗代碼:0x80004005(NS_ERROR_FAILURE)」nsresult:「0x80004005(NS_ERROR_FAILURE)」位置: JS框架:: http://localhost/scripts/jQuery.js ::匿名::行808" 的數據:無]

線0

是錯誤,當我打開螢火蟲我得到。這隻發生在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或插入幻像數據。還是有更好的方法來做到這一點?

回答

0

調試此類錯誤的最簡單方法是在代碼中設置一個斷點,並逐步遍歷它直到出現錯誤,或者將您認爲可能導致錯誤的部分代碼註釋掉。首先註釋掉整個事件回調函數,如果錯誤消失,請取消註釋不同的行。當你發現哪條線路導致它時,你也可以找出它爲什麼導致它。如果你不知道,請在這裏問問。

沒有你的整個代碼,我們很難告訴你是什麼原因造成的問題。

0

解碼這些類型的錯誤信息真的很困難。我建議做的事情是,因爲它聽起來像你沒有太多的代碼,刪除了一些這些行,看看它是否修復了錯誤。只是不斷刪除/替換代碼,直到錯誤消失,這就是麻煩所在。

這就是我通常會如何嘗試找到它,如果我得到這樣的一般性錯誤消息。通常問題出在我最後碰到的事情上。

0

已解決。

我不知道爲什麼它是這樣的。錯誤並不在於$ .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'; 
    }); 
    }); 
}); 

它的工作後,我改變了「$(本).animate(..)」到別的東西例如。 「$(」 身體 「)。動畫(..)」。有點碰巧爲什麼firefox讀取$(this).animate到這樣的錯誤。 #Logout是錨順便說一句

例如

<a id='Logout' href='#'>Logout</a> 
相關問題