Javascript XPages:获取-this.\u partialRefresh AJAX调用的内容?
我正在对XPage(Domino8.5.1)进行部分刷新,但需要获取响应的内容 原因是IE8似乎(有时)存在部分刷新HTML不显示的问题。我可以看到响应是正确的,但是DOM没有更新 有一个简单的解决方法:Javascript XPages:获取-this.\u partialRefresh AJAX调用的内容?,javascript,xpages,lotus-domino,Javascript,Xpages,Lotus Domino,我正在对XPage(Domino8.5.1)进行部分刷新,但需要获取响应的内容 原因是IE8似乎(有时)存在部分刷新HTML不显示的问题。我可以看到响应是正确的,但是DOM没有更新 有一个简单的解决方法: div.innerHTML = div.innerHTML 但对于我来说,要应用它,我需要内容,这样我就可以首先插入它 那么,是否可以从partialRefresh获取返回的HTML?或者有其他解决方法吗?您可以将部分刷新作为客户端事件触发: XSP.partialRefreshGet("#
div.innerHTML = div.innerHTML
但对于我来说,要应用它,我需要内容,这样我就可以首先插入它
那么,是否可以从partialRefresh获取返回的HTML?或者有其他解决方法吗?您可以将部分刷新作为客户端事件触发:
XSP.partialRefreshGet("#{id:targetId}", {
onComplete: function(responseData) {
// examine the response content
}
});
onComplete函数将从服务器传递响应,您可以解析或以其他方式响应该函数中的数据。要劫持部分刷新,您可以添加以下CSJS代码:
// --- hijack dojo XHR calls
dojo._xhr = dojo.xhr;
var loadOld;
function hijacked( response, ioArgs ){
alert( response ); // change code here to do whatever you want. //
loadOld( response, ioArgs ); // call the original function
}
dojo.xhr = function( mode, args, bool ){
loadOld = args["load"];
args["load"] = hijacked;
dojo._xhr( mode, args, bool );
}
只需更改函数“hijacked”即可满足您的需求
希望这有帮助
斯文
编辑:
方法“hijacked”是在应用对DOM的更改之前执行的(以及在OnComplete事件之前)是的,我想这就是我一直在寻找的,因为本机函数没有提供任何插入响应的方法。在另一个我希望存储来自特定请求的响应的情况下对其进行了测试。但是responseData总是未定义的。有什么想法吗?谢谢/J