1

このAJAX呼び出しをページの読み込み時に読み込みたいのですが。今、それをロードするために更新ボタンを押す必要があります。

更新されたコード:

$(document).on("pageinit", "#members", function() {
$.ajax({
url: 'data.php',
success: function(data) {    
$("#result").html(data).trigger('create');
$("#result").listview('refresh');
}
});
});

ページのURLを入力すると正しく読み込まれますが、index.phpファイルを確認すると正しく読み込まれません。

4

1 に答える 1

2

初め、

$("document")

する必要があります

$(document)

要素がないので<document>、もしあったとしても、あなたはそれらを要求しないでしょう.ready()

次に、この問題が発生する理由は、$(document).ready()ページ全体の読み込みごとに1回だけ発生するためです。jQuery Mobileで新しいページに変更しても、ページ全体の読み込みはトリガーされません。代わりに、ajaxを使用して新しいページに読み込まれます。この問題を回避するために、jQuery mobileには、読み込まれるページでトリガーされる「pageinit」というイベントがあります。これは、この場合にバインドする方法です。

pre-jquery 1.7

// yes, i know delegate is better, but the documentation specifically suggested using .live
$("#pageid").live("pageinit",function(){
    $.ajax({
        url: 'data.php',
        success: function(data) {    
            $("#result").html(data).trigger('create');
            $("#result").listview('refresh');
        }
    });
});

post-jquery 1.7

$(document).on("pageinit","#pageid",function(){
    $.ajax({
        url: 'data.php',
        success: function(data) {    
            $("#result").html(data).trigger('create');
            $("#result").listview('refresh');
        }
    });
});

ページの更新が機能する理由は、ページを更新すると$(document).ready()イベントが発生するためです。

于 2013-02-07T19:53:53.037 に答える