未捕获的异常:[Exception ...“组件返回失败代码:0x80004005(NS_ERROR_FAILURE)”nsresult:“0x80004005(NS_ERROR_FAILURE)”location:“JS frame :: http://localhost/scripts/jQuery.js :: anonymous :: line 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)
调试此类错误的最简单方法是在代码中设置断点,然后逐步执行该错误直到出现错误,或者注释掉您认为可能导致错误的部分代码。首先注释掉整个事件回调函数,如果错误消失,请取消注释不同的行。当你找到导致它的线路时,你也可能会发现它导致它的原因。如果你不知道,请问这里。
如果没有您的整个代码,我们很难告诉您导致问题的原因。
答案 1 :(得分:0)
解码这些类型的错误消息真的很难。我建议做的是因为它听起来你没有太多的代码,删除一些这些行,看看它是否修复了错误。只是不断删除/替换代码,直到错误消失,这就是问题所在。
如果我收到类似的常规错误消息,那么我通常会尝试找到它。通常问题在于我触及的最后一件事。
答案 2 :(得分: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';
});
});
});
在我将“$(this).animate(..)”更改为其他内容之后,它工作了。 “$(” 身体 “)。动画(..)”。有点碰到为什么firefox读取$(this).anan会出现类似的错误。 #Logout是一个锚btw
例如
<a id='Logout' href='#'>Logout</a>