1

モバイル Web サイトを作成し、jQuery Mobile プラグインを使用しています。このページでは、ajax によってサービスを呼び出す必要があり、同期されています。リクエストが送信されて応答がある間、読み込みメッセージが表示されます。

Firefox では問題なく動作しますが、Chromeまたはモバイル デバイス (iOS では safari) では、読み込みメッセージが表示されませんでした。動作させるために asynch を false に変更しましたが、期待したものではありません

以下は私のドラフトコードです

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

誰でも同じ問題がありますか?この場合の提案

- - アップデート - -

jsfiddle http://jsfiddle.net/ndkhoiits/jvqQJ/にサンプルを追加します

4

1 に答える 1

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()のドキュメント

于 2012-12-17T08:11:50.880 に答える