2012-03-19 55 views
0

我正在做一個XPage(Domino 8.5.1)的partialrefresh,但需要獲取響應的內容。XPages:獲取 - this._partialRefresh AJAX調用的內容?

原因是,IE8似乎(有時)有部分刷新的HTML沒有顯示的問題。我可以看到響應是正確的,但DOM沒有更新。

這裏有一個簡單的辦法是:

div.innerHTML = div.innerHTML 

但對我來說,應用此我所需要的內容,所以我可以在第一時間將其插入。

那麼,是否有可能從partialRefresh獲取返回的HTML?還是有另一種方法來解決這個問題?

回答

2

劫持局部刷新,你可以添加此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); 
} 

只要改變「劫持」到fullify您的要求的功能。

希望這有助於

斯文

編輯: 「劫持」之前更改到DOM執行的方法將被應用(和之前的onComplete事件)

+0

是的,我認爲這是我所尋找的,因爲本地功能不提供任何方式來插入響應。 – jBoive 2012-03-28 13:15:39

8

可以觸發局部刷新的客戶端事件:

​​

的的onComplete功能將被傳遞來自服務器的響應,並可以解析或該函數中的數據作出反應。

+0

測試此上的另一我希望存儲來自特定請求的響應的情況。但是responseData總是未定義的。有任何想法嗎? 謝謝! /J – jBoive 2012-08-23 12:33:31