使用jsf.ajax.addOnError处理ajax错误

时间:2014-02-21 14:07:10

标签: ajax jsf error-handling

jsf.ajax.addOnError如何实际捕获错误? 我没有找到任何关于它的机制的信息。我只发现它是一个错误监听器。

1 个答案:

答案 0 :(得分:1)

无论您何时找到jsf.ajax.addOnError是错误侦听器的声明,该来源都是错误的。 addOnError函数添加错误监听器(即,您自己定义的函数,只要JSF框架遇到错误情况,就会调用该函数)。

这直接来自JSF-2.2 spec, 13.3.6.2

  

jsf.ajax.addOnError函数接受一个JavaScript函数参数   在任何Ajax请求/响应周期中发生错误时通知。 [P1-start-event]实现必须确保必须根据表14-5“错误”中列出的错误调用已注册的JavaScript函数。[P1-end]

因此,“errors”表定义了调用函数的条件。他们在这里:

  • httpError :请求状态== null或request.status == undefined或request.status< 200或      request.status> = 300
  • serverError :Ajax响应包含“error”元素。
  • malformedXML :Ajax响应的格式不正确。
  • emptyResponse :服务器没有Ajax响应。

JSF实现基本上触发了Ajax请求,并定义了响应到达时浏览器调用的内部处理程序。然后,他们需要检查响应,如果满足上述条件,他们会查看是否已注册任何要调用的函数并在需要时执行它们(它们执行的操作更多,但这是有问题的部分) )。