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') {
// ...
}
}