[英]Catch exceptions in jQuery
我有以下代码:
<script type="text/javascript">
$(document).ready(function() {
$("#Save").click(function() {
$.post("url", {
"data": "data"
}, function(data) {
alert(data);
});
});
});
</script>
我正在测试这个脚本,我正在进行的测试之一就是关闭asp.net Web开发服务器,然后单击按钮。
IE表示“访问被拒绝”错误,我想捕获此处发生的任何错误,并在这种情况下向用户显示友好消息。
我试图使用try / catch但没有工作......
任何线索?
这是一个有用的片段,用于跟踪FireBug中的任何jquery ajax错误。
// Displays any ajax errors in the Firebug console instead of hiding them
$(document).ajaxError(function(){
if (window.console && window.console.error) {
console.error(arguments);
}
});
如果您将Ajax与jQuery一起使用,您可能已经注意到,当出现问题时,您不会收到任何错误消息。 即使你的回调函数中存在重大错误,jQuery也会默默地失败,扫除地毯下的任何错误,让你对刚刚发生的事情毫无头绪。
运行此代码后,您将开始在Firebug控制台中收到错误消息(如果您的Ajax调用或回调有任何中断)。 错误信息不是最好的,但至少你不必再呆在黑暗中了。
好的,我猜javascript支持终于也是这样的
try{
main code...
}catch(err){
error ocurred...
}finally{
do this anyway...
}
像这样在你所有的js代码周围放一个包装器:
try
{
... js code
}
catch(err)
{
alert(err.toString());
}
但是对于ajax调用这可能是行不通的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.