取消部分XSP刷新并处理错误

时间:2015-12-14 09:34:44

标签: xpages

我已经实现了您可以在此处找到的部分刷新对话框控件xsnippet:http://openntf.org/XSnippets.nsf/snippet.xsp?id=bootstrap-standby-dialog

对于取消按钮,我更改了操作:

button onClick="StandbyDlg.StandbyDialog_Completed();xhrCall.cancel();

因此它也应该中止部分刷新操作。

我注意到我现在遇到错误,正如here所描述的那样。

不幸的是我在理解建议的解决方案时遇到了问题(“要解决这个问题,你必须在刷新时添加一个自定义错误处理程序,例如。”)。

我应该在xsnippet中添加它的位置和方式?

2 个答案:

答案 0 :(得分:1)

如果部分刷新失败,由于超时或错误,将出现一个消息框,其中部分刷新ID已失败,并显示错误消息。

如果要覆盖此行为,则必须将参数 onError 添加到包含回调函数的部分刷新中,该函数在部分刷新失败时调用。

另一种方法是将参数 failOk 设置为被劫持的 xhrGet xhrPost 函数调用:

dojo.xhrPost = function( args ){
   args['failOk'] = true;
   xhrCall = dojo._xhrPost( args );
 }

dojo.xhrGet = function( args ){
    args['failOk'] = true;
    xhrCall = dojo._xhrGet( args );
}

这可以防止所有xhr呼叫的错误消息。

答案 1 :(得分:0)

如果您在所有页面上都使用标准自定义控件,则可以在此处添加代码。可用组件之一但默认情况下未在调色板中显示的是输出脚本控件(xp:scriptBlock)。您可以将其拖到页面上,它将允许您直接在页面上编码CSJS。因此,您可以将该代码段添加到“输出脚本”控件中。以下是带有dojo.addOnLoad()调用的Ouput Script块的示例 - Setting viewScope onLoad and onResize