服务器请求期间未显示忙对话框 [英] Busy Dialog not showing during server requests

查看:49
本文介绍了服务器请求期间未显示忙对话框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个UI5应用程序。我想在AJAX请求期间挡路UI表单用户。我添加了以下代码:

var dialog = new sap.m.BusyDialog({
  text: this.languageModel.getModelProperty("BUSY_DIALOG_FETCHING_DATA"),
  title : this.languageModel.getModelProperty("BUSY_DIALOG_WAIT")
});
var that = this;
jQuery.ajaxSetup({
  beforeSend: function() {
    dialog = (dialog) ? dialog : new sap.m.BusyDialog({
      text : that.languageModel.getModelProperty("BUSY_DIALOG_FETCHING_DATA"),
      title : that.languageModel.getModelProperty("BUSY_DIALOG_WAIT")
    });
    dialog.open();
  },
  complete: function() {
    console.log("close");
    dialog.close();
  }
});

在控制台中,我获得了很好的结果,并且在调试时可以看到对话框,但是在正常模式下(没有任何断点),忙碌的对话框根本不会出现。有什么线索吗?

推荐答案

为什么不使用繁忙指示器?

var oController = this;
oController.getView().setBusy(true);
$.ajax({
    //your ajax call here, 
    success: function(data) {
        //do whatever needs to be done after success;
        oController.getView().setBusy(false);
    },
    error: function(...) {
        oController.getView().setBusy(false);
    }
});

这篇关于服务器请求期间未显示忙对话框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆