【问题标题】:catch exception thowns by prototype javascript framework通过原型 javascript 框架捕获异常
【发布时间】:2013-01-14 15:15:19
【问题描述】:

我正在使用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 引发了很多异常,有没有办法抓住这个异常并阻止脚本?

【问题讨论】:

    标签: javascript exception-handling prototypejs reverse-ajax


    【解决方案1】:

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

    on&lt;HTTPSTATUSCODE&gt; 处理程序将阻止 onSuccess 仅在 HTTP 代码作为处理程序存在时触发。即如果网络服务器以 500 错误响应并且您只定义了 on404 处理程序,则 onSuccess 可能仍然运行,但不应该因为成功被定义为任何 200 秒状态代码。

    【讨论】:

    • 好的,现在它只说一次“加载资源失败”,我将 onSuccess 更改为 on200,但我怎样才能捕捉到“加载失败事件”?例如我想在这个事件上显示一个弹出窗口
    • 我会检查一下 - 它在文档中,所以它“应该”工作....您可能想尝试 onFailure 处理程序
    猜你喜欢
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 2015-10-28
    • 2018-07-23
    • 2011-06-05
    相关资源
    最近更新 更多