javascript - 捕获由原型(prototype) javascript 框架抛出的异常

标签 javascript exception prototypejs reverse-ajax

我正在使用 prototype在我的页面中获得反向 ajax 效果的框架,我正在使用这个脚本:

<script language="JavaScript" src="prototype.js"></script>
<script>
Event.observe(window, 'load', function() {
connectToServer();
});

function connectToServer()
{
new Ajax.Updater(
    { success: 'asd', failure: 'error' },
    'evaluation',
    {
        method:     'get',
        onSuccess:  function(transport)
        {
            if (transport.responseText!=''){
                try {
                    eval(transport.responseText)
                } catch (e) {
                    alert(e.message);
                }
            }
            connectToServer();
        },
    });
 }
 </script>

该脚本工作正确,但我有一个问题,当我关闭网络服务器(在我的例子中是我用 python 编写的一个小网络服务器)时,由于错误 404 抛出了很多异常,有没有办法捕捉到这个异常并阻止脚本?

最佳答案

添加 on404 Ajax.Updater 的选项选项,传递一个函数处理程序,就像你为 onSuccess 所做的一样.

on<HTTPSTATUSCODE>只有当 HTTP 代码作为处理程序存在时,处理程序才会阻止 onSuccess 触发。即如果网络服务器响应 500 错误而你只有一个 on404处理程序已定义,onSuccess可能仍会运行,但不应运行,因为成功被定义为任何 200 状态代码。

关于javascript - 捕获由原型(prototype) javascript 框架抛出的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14321153/

相关文章:

javascript - Extjs MVVM - slider 小部件更改事件

c# - 在私有(private)委托(delegate)方法中测试异常

.net - 为什么FormatException不继承自ArgumentException?

debugging - 使用 Prototype.js 时如何处理调试

javascript - prototypeJS DOM 与 AJAX 交互

javascript - 如何使用prototype.js获取html表单文本字段中的值?

javascript - 如何删除特定列表值之后的所有元素?

javascript - 为什么当不相关的状态发生变化时,我的 redux 容器会渲染?

java - 如何维护多个异常的单个日志文件

javascript - 现场过滤数据的最佳方法