1

プロファイルがいくつかの基本データ(プロファイル写真、ニックネーム、年齢、場所など)とともに表示されるページユーザーがあります。プロファイルをクリックすると、ajaxでデータがロードされ、ポップアップでユーザープロファイルが表示されます。したがって、同じページにとどまります。

ただし、すべてのajax呼び出しには、サーバーサイドコードを呼び出してデータを取得するための時間が必要です。遅くはありませんが、ユーザープロファイルの表示を超高速にしたいです。プロファイルリストを取得するときに、最初にすべてのプロファイルデータを取得すると、はるかに高速になると考えていました。[ユーザー]ページで一部のデータを取得する代わりに、すべてのプロファイルデータを取得できます。次に、データをjavascriptに配列として保存できます。ユーザーがプロファイルをクリックすると、ajax呼び出しは行われませんが、javascript配列からデータがプルされます。このように、ポップアップがすぐに表示されると思います。

これまでのところ、これは単なるアイデアです。受信したデータをJavaScript配列に保存しても大丈夫ですか、それとももっと良い方法ですか?

4

3 に答える 3

2

javascriptオブジェクトを使用する

phpでユーザー情報を取得し、htmlのjsの関数に渡します

<script>buildUserInfo(array('user_id,yaz,20,male,837367.jpg',....));</script>

次に、jsオブジェクトを作成しますが、これらの値は

var userObject = new Object();
function buildUserInfo(data){
  for(var i=0;i<data.length();i++){
    var dataIn = data[i].split(',');
    userObject[user_id].name = dataIn[0]; 
    userObject[user_id].age = dataIn[1]; 
    userObject[user_id].gender = dataIn[2]; 
    userObject[user_id].photo = dataIn[3]; 
}}

名前を呼び出すだけで、オブジェクトを呼び出すだけでアクセスできます。 userObject[user_id].name

更新:オブジェクト配列を作成して複数のユーザーの場合、上記のコードを編集します

于 2012-09-12T13:22:49.467 に答える
0

localStorageの使用をお勧めします:

では、HTML5ストレージとは何ですか?簡単に言えば、これは、WebページがクライアントのWebブラウザ内で名前付きのキーと値のペアをローカルに保存する方法です。Cookieと同様に、このデータは、Webサイトから移動したり、ブラウザータブを閉じたり、ブラウザーを終了したりした後でも保持されます。Cookieとは異なり、このデータがリモートWebサーバーに送信されることはありません(手動で送信する場合を除きます)。

これはすべての古いブラウザがサポートしているわけではない新しい機能ですが、jStorageなどのライブラリを使用してこれらのケースを軽減できます。

jStorageは、利用可能な場合はHTML5ローカルストレージを使用し、InternetExplorerの古いバージョンでのuserDataの動作を利用します。

于 2012-09-12T13:34:40.547 に答える
0

JSONを使ってみませんか?このようにページの読み込み時にjsonオブジェクトを初期化すると、ajaxリクエストなしですべてのデータを即座に取得できます。

var users = <?php echo json_encode($users); ?>;
于 2012-09-12T13:40:13.100 に答える