2017-06-04 15 views
0

私はページ分割スクリプトにAJAXを使用し、このスクリプトを可能な限り「データ消費の節約」としたいと考えています。したがって、私の考えは、選択したページのアイテムをロードして、表示されないすべてのアイテムに対して空のliアイテムにdata-idをロードすることです。ajax呼び出しでデータはどのようにカウントされますか?

質問は、実際には、ajaxによって呼び出されたphpファイルがすべてのデータを処理している場合、データ消費を節約するかどうかです。

私は質問があると思います。どのくらいの量のコンテンツがajaxレスポンスに含まれているのか、それともphpファイルへのajaxコールがどれだけ大きいかによってデータがカウントされますか?

多くのliアイテムを空のままにしてデータを保存するか、とにかくajax-callでロードされたのでコンテンツを追加することもできますか?

私はどういう意味を理解していますか?私はあなたが(理由は、携帯電話上の小さなデータプランの例)データに消費を(ウェブサイトを訪問しています)クライアントを最小限にしたいと思います

jQuery.post(ajaxurl, 'action=load_items', function(response) 
{ 
      // Is it the action 'action=load_items' 
      // that consumes data? Or is it the amount 
      // of data coming out in the response? 
}); 
+0

私はあなたが何を意味するのか理解できません。コードであなたの質問([mcve])を実演して、本当の例がありますか? –

+0

は空のビットを持っていません... jsonを使用して、レスポンスからjsを使用してdomを構築すると、「軽量」のデータ消費になります。また、サーバー上でgzipを使用すると、データ消費の意味:) –

+0

しかし、JavaScriptがロードされているアイテムがどのページにあるかを知るために空のビットが必要です。私の質問は次のようなものです。どのくらいのデータが消費されたかを決めるのは何ですか?それは1ですか?ajax呼び出しのPHPファイルロードの重さに応じてですか?それとも、それは何ですか?ajaxレスポンスでどのくらいのデータが出てきたのかによって異なります。 –

答えて

1

人々は常にコード例をしたいです。これは正しいです?

もしそうなら、実際にあなたのウェブサイトからクライアントに送信されるものについて考える必要があります。 PHPスクリプトechoではいくつかのデータがあり、このデータだけがクライアントに転送されます。したがって、計算中に実際に読み込んだ(そしてサーバーのメモリを保持する)のは関係ありません。それはあなたが実際に出してクライアントに送るものと関連しています。

これは、スクリプトの出力を最適化できると述べています。まず、GZIPを有効にする必要があります。これにより、ほとんどのデータが節約され、すべてのブラウザがそれを理解します。 PHPでは、これは非常に簡単です(detailed answer参照)。あなたの出力の前にob_start("ob_gzhandler");を追加するだけです。

第2に、クライアントに返信するJSONを小さくする必要があります。デフォルトの関数json_encode()を使用するだけで、これを行うことができます。これにより、JSON内の不要な空白がすべて削除されます。

データセット全体ではなくデータチャンクのみを送信する場合は、これを行うのがデータを有効に活用する方法でしょう。 HTTPヘッダーは常に送信する必要があることに注意してください。したがって、データ消費を最適化したい場合は、小さすぎるデータパッケージを作成しないでください(理想的には、平均的なユーザーが1つのパッケージに表示したいものを正確に送信します)。

[ネットワーク]タブでウェブサイトのデータ消費量をトラッキングすることができます。 Google Chromeの開発ツール(これは他のブラウザでも利用可能です)。すべてのAjaxコールは、そのサイズとともに一覧表示されます(XHRでフィルタリングできます)。

関連する問題