如果调用同步请求,则无法显示jQuery Mobile消息加载

时间:2012-12-17 07:25:43

标签: jquery jquery-mobile

我正在创建一个移动网站并使用jQuery Mobile插件。在页面中,我需要通过ajax调用服务并进行同步,同时发送请求并有响应,应显示加载消息

适用于 Firefox ,但对于 Chrome 或移动设备(iOS上的Safari),加载信息无法显示,我已更改asynch to false使其有效,它不是我所期望的

以下是我的草稿代码

function callService() {
    $.mobile.showPageLoadingMsg();
    $.ajax({
        url: 'testservice',
        async: false,
        success: function(result) {
            // Dosomething
        }
    });
    $.mobile.hidePageLoadingMsg();
}

任何人都有同样的问题吗?对此案的任何建议

---更新---

我在jsfiddle http://jsfiddle.net/ndkhoiits/jvqQJ/

上添加了示例

1 个答案:

答案 0 :(得分:1)

我认为您应该查看在ajax请求完成之前和之后调用的beforeSend()和complete()函数,例如:

function callService() {

$.ajax({
    url: 'testservice',
    beforeSend: function() {
        $.mobile.showPageLoadingMsg();
    },
    complete: function() {
        $.mobile.hidePageLoadingMsg();
    }
    async: false,
    success: function(result) {
        // Dosomething
    }
});
$.mobile.hidePageLoadingMsg();

}

jQuery.ajax()

的文档