1
我需要在應用ajax更新後執行某個javascript函數。我試過jsf.ajax.addOnEvent(ch.ergon.newom.ajaxUpdate)
到 得到有關請求的消息,但似乎在ajax響應到達後執行,但在之前被應用(即:內容得到更新)。在* ajax更新後執行Javascript *
如何在JSF-ajax更新內容後執行JavaScript函數?
我需要在應用ajax更新後執行某個javascript函數。我試過jsf.ajax.addOnEvent(ch.ergon.newom.ajaxUpdate)
到 得到有關請求的消息,但似乎在ajax響應到達後執行,但在之前被應用(即:內容得到更新)。在* ajax更新後執行Javascript *
如何在JSF-ajax更新內容後執行JavaScript函數?
其實,這將被稱爲三次。一個在發送ajax請求之前,一個在ajax響應到達之後,另一個在成功處理ajax響應之後發送。您需要根據提供的數據參數來檢查當前狀態。您可以在JSF 2.0 specification的表14-4和14-3中找到技術細節。
這裏是你的JS函數應該看起來像一個開球的例子,當你想鉤住所有3個狀態。
function ajaxUpdate(data) {
var ajaxStatus = data.status; // Can be 'begin', 'complete' and 'success'.
switch (ajaxStatus) {
case 'begin': // This is called right before ajax request is been sent.
// ...
break;
case 'complete': // This is called right after ajax response is received.
// ...
break;
case 'success': // This is called when ajax response is successfully processed.
// ...
break;
}
}
或者當你想勾上只有success
狀態:
function ajaxUpdate(data) {
if (data.status == 'success') {
// ...
}
}