每当我需要向服务器发出ajax请求而不刷新页面时,Genexus应该发出一些我可以在我的UC中使用的事件。
这个事件究竟是什么,如果没有,我怎么能知道JS中用于Genexus用户控件的每个事件?
即: 如果我单击可能在另一个表中搜索值的UserAction然后为我检索,我该如何捕获它?
另一种情景:
我正在向服务器发出请求并检索它的信息。我需要得到
$(gx-warning-message).text();
但如果我的请求仍在加载,当我执行我的函数时,它将不返回任何内容,因为该事件仍在加载信息。
为了避免这种情况,我正在进行循环,但这并不是解决问题的优雅方法。
$(".Button").click(function() {
var timesRun = 0;
var interval = setInterval(function(){
timesRun += 1;
if(timesRun === 60){
clearInterval(interval);
}
if ($(".gx-warning-message").text().length > 0) {
toastrgx();
$(".gx-warning-message").text('');
}
}, 200);
});
那么,我怎样才能让它变得更好?
由于
答案 0 :(得分:2)
如果您希望每次触发GeneXus用户事件时收到通知,您都可以订阅gx.onafterevent
事件。例如:
gx.fx.obs.addObserver('gx.onafterevent', scope, function () {
// Here goes the code you want to execute
// every time a GeneXus event is fired
});
scope
是您要设置为第三个参数函数的this
的对象。