2017-07-07 39 views
0

我有这样的(第三方代码)一PrototypeJS AJAX请求:如何模拟/测试AJAX异常处理程序?

new Ajax.Request(url, 
{ 
    method: 'get', 
    onException: function(transport, e) 
    { 
     //... 
    }, 
    onComplete: function(transport) 
    { 
     //... 
    } 
}); 

,并要测试的onException行为。我可以控制服务器端,所以我可以改变响应。但简单地返回500状态并不能解决问题,它仍然由onComplete来处理。

那么我有什么可能触发onException处理程序?

回答

1

onException而调度其它回调,看到here,在Ajax响应回调当有异常仅触发。所以我不确定有什么方法来测试它。

编辑:

read (in french, didn't find anything in english),如果你犯了一个跨域请求,它激发通风口。

+0

我能够让'onComplete'抛出异常,谢谢你的提示! –

+0

定义'onFailure'回调可能是一种方法,因此您不必在'onComplete'中测试成功。无论对服务器的请求结果如何,都会触发'onComplete'回调。如果你有一个分支,如果没有错误,你只需要关注它,把它放在'onSuccess'而不是'onComplete'中。 – Walter