-1

いくつかのデータを視覚化したい小さなjQueryモバイルWebサイトがあります(D3でそれを行いました)。ウェブサイトには複数のページがあります(で作成<div data-role="page" id="...">...</div>)。ロードするデータがかなり多いので(サーバーからのjson)、ユーザーが現在表示しているものだけをロードしたいと思います。つまり、彼が(ボタンを介して)2ページをクリックした場合、2ページに必要なデータのみをロードします(他の10ページのすべてのデータはロードしません)。いくつかのjQueryイベント(pageshowなど)を見つけましたが、それらはすべて、メインページが最初に作成されたときにのみキャッチされます。使用者がボタン(リンク)をクリックしたときにロードすることも考えましたが、彼が直接page2に移動した場合はどうなりますか?

どんな提案でも本当にありがたいです。ありがとうございました!

4

2 に答える 2

2

ここでは、AJAXを利用することが最善の策だと思います。URLに#を使用して各「ページ」を追跡できます(例:YOUR_URL#page_2)。

ユーザーがそのページに直接移動すると、ページがレンダリングされます。それ以外の場合、彼がホームページにアクセスすると、#page_2や#page_3ではなく#page_1がレンダリングされます。

私があなたの質問を理解したことを願っています。

于 2012-12-03T10:28:51.847 に答える
-1

私はそれを見つけました:

$('#pageTag').bind('pageshow', function() {
   $.ajax({
  url: "getData.php"
   }).done(function( data ) {
  alert( "response from server: " + data);
   });
}

ここでの問題は、ページが読み込まれるたびに呼び出されることです。したがって、ユーザーが前後に移動すると、毎回読み込まれます...ここでいくつかのヒントを見つけましたが、2番目の問題の解決策ではありません...

ヒントは大歓迎です。ありがとう。

于 2012-12-03T11:53:00.793 に答える