2

jQuery Mobile を使用してページのスピナー ロードをセットアップしようとしています。ただし、Ajax で何かをロードしているときにスピナーが表示されません。これが私のコードです。何が問題なのですか?

$("#invite").live('pageinit', function(e) {
  var render = function (items) {
    var view = '',
    index = 0;
    items.forEach(function(date){
      view +=
        '<div class="ui-block" style="background:white;">' +
        date.address
        '</div>';
      index++;
    });
    return view;
  };
  $.mobile.showPageLoadingMsg();
  $.ajax({                  
    url: 'someurl.com/file.json',
    dataType: "json",
    success: function(data) {
      $('#list').html(render(data.shared_dates));
      $.mobile.hidePageLoadingMsg();
    }
  })
});
4

2 に答える 2

3

jQuery Mobile 1.2 を使用している場合は、次のものを使用する必要があります。

$.mobile.loading( 'show' )

$.mobile.loading( 'hide' )

ドキュメント: http://jquerymobile.com/demos/1.2.0/docs/api/methods.html

于 2012-11-23T09:05:20.927 に答える
2

私はそれを達成するためにこのコードを使用しています:

       $.ajax({url: server_url,
        data: save_data,
        dataType: "jsonp",
        jsonpCallback: 'successCallback',
        async: true,
        beforeSend: function() {
            $.mobile.showPageLoadingMsg(true);
        },
        complete: function() {
            $.mobile.hidePageLoadingMsg();
        },
        success: function (result) {
            // some code here
        },
        error: function (request,error) {
            // some code here
        }, 
       successCallback:function(){

        }
    });

これは jsonp の例ですが、ロジックは同じです。

于 2012-11-23T23:03:30.833 に答える