今回は、フロントエンドとバックエンドのデータを科学的に操作する方法と、フロントエンドとバックエンドのデータを操作する際の注意事項について説明します。実際のケースを見てみましょう。
HTMLの割り当て
JSの割り当て
スクリプトはJSONを埋める
AJAXはJSONを取得
WebSocketのデータのリアルタイム送信
概要
1のHTMLの割り当てはElement
<div data-value="<?php echo $user_avatar;?>"></div>
のレンダリング結果の値またはデータ名を出力します。
<div data-avatar="https://avatars1.githubusercontent.com/u/3949015?v=3&s=40"></div>
JS を使用して $('input').val();
$('div').data('avatar');
利点: グローバル変数を占有せず、JS で自由に取得できます。
使用方法の提案: 単純なデータを渡すに適しており、複数の単純なデータを要素にバインドするのにも非常に適しています。
<li>nimojs <span data-userid="1" >删除</span></li> <li>nimo22 <span data-userid="2" >删除</span></li> <li>nimo33 <span data-userid="3" >删除</span></li> <li>nimo44 <span data-userid="4" >删除</span></li> <li>nimo55 <span data-userid="5" >删除</span></li></ul><script> $('span').on('click',function(){ $.post('/ajax/remove/',$(this).data('userid'),function(data){ // ... }) })</script>
2. JS 割り当て
は、<script> の <a href="http://www.php.cn/wiki/48.html" target="_blank">JavaScript 変数宣言にデータを埋め込みます。 </script>
<script> var user_avatar = "<?php echo $user_avatar;?>"; // 渲染结果 // var user_avatar = "https://avatars1.githubusercontent.com/u/3949015?v=3&s=40";</script>
または Smarty バックエンド テンプレート エンジン を使用します:
<script> var user_avatar = "{$user_avatar}";</script>
利点: データを渡すのは非常に便利です。フロントエンドは user_avatar 変数を直接呼び出してデータを使用します。
欠点:
文字列データを転送する場合、グローバル変数 user_avatar が占有されます。 送信するデータが多い場合、多くのグローバル変数が占有されます。
返されたデータに改行があるとJSエラーが発生します
// レンダリング結果に改行文字が含まれています var user_id = "https://avatars1.githubusercontent.com/u/3949015?v=3&s= 40";// Uncaught SyntaxError: Unexpected token ILLEGAL
最適化: バックエンドによって返されるすべてのコンテンツは、グローバル変数の使用を最小限に抑えて、ポイントされる特定の変数に格納できます。例: // PHP コード var SERVER_DATA = { username: {$username}, userid: {$userid}, title: {$title}} // レンダリング結果 var SERVER_DATA = { username: "NimoChu", userid: 1, title : 'F2E'}
使用上の提案: データをできるだけ早く JS に転送する必要があり、データが安定していることが確実な場合は、このメソッドを使用します。データ形式が複雑な場合は、スクリプトを使用して JSON を入力するか、AJAX を使用して JSON を取得することをお勧めします。
3. スクリプトによる JSON の入力**** JSON 構文** は、JSON データを DOM を通じて取得し、オブジェクトに解析します。
<script type="text/template" id="data">{"username":"nimojs","userid":1}</script><script> var data = JSON.parse($('#data').html()); //{username:"nimojs",userid:1}</script>
利点: ページが読み込まれた後にデータを取得できます。グローバル変数を占有せず、大量のデータ コレクションを渡すことができます。
短所: データ量が特に多い場合、ページの初期読み込みが遅くなります。速度の低下は、ファイル サイズだけでなく、サーバーがデータをクエリしてコレクションを返すのに時間がかかることも原因で発生します。AJAX を使用して JSON を取得し、オンデマンドの読み込みと読み込みの待機を完了することができます。
使用方法の提案: DOM のロード時に使用する必要がある大規模なデータ コレクションを渡すのに適しています。たとえば、フロントエンドはページのレンダリングを制御し、バックエンドは JSON データ ソースを <script> に入力し、フロントエンドは JavaScript テンプレート エンジンを使用してページをレンダリングします。 Javascript テンプレート エンジンを選択するにはどうすればよいですか? </script>
4. AJAX で JSON を取得する AJAX を使用して JSON データを取得します
<span id="showdata">查看资料</span> <div style="display:none;" id="box"> <h2 id="用户信息">用户信息</h2> <p id="info"></p> </div> $('#showdata').on('click',function(){ $('#box').show(); $.getJSON('/ajax/userdata/',function(oData){ // oData = {"username":"nimojs","userid":1} $('#info').html('用户名:' + oData.username + '<br>用户ID:' + oData.userid); }) })
これは、AJAX を通じてユーザー情報を取得する例です。プロセスは次のとおりです:
ページには表示情報のみが表示されます
ユーザーがクリックして情報を表示します
ユーザー情報を表示し、画像を読み込みます
ユーザー情報を取得するためにサーバーにAJAXリクエストを送信します
サーバーは戻りますJSON 文字列を取得すると、$.getJSON が自動的に返されます。 JSON 文字列をオブジェクトに変換します
コンテンツを
に入力します
利点: グローバル変数や DOM ノードを占有しません。データ取得のトリガー条件(ページ読み込み時、情報閲覧時のクリック時、ボタンクリック時)を自由に制御できます。データの取得を開始するときに、読み込み中の画像プレースホルダーを使用して、データが読み取られていることをユーザーに通知できます。ページ上のすべてのデータをロードすることによって引き起こされるページのロードの遅延を防ぎます。
欠点: 追加の HTTP リクエストが生成されます。 DOM がロードされた直後には取得できません。リクエストを送信してレスポンスを受信する必要があります。
使用方法の提案: 主要ではない情報のロード、トリガー条件の設定 (ユーザーがクリックしてデータを表示したとき)、わかりやすいデータ読み取り待機プロンプトの提供に適しています。
5. WebSocket はリアルタイムでデータを送信します。AJAX のリクエストと応答をサーバーにテキスト メッセージを送信し、サーバーがテキスト メッセージに応答するのを待つことにたとえると、WebSocket はサーバーに電話をかけることに似ています。
WebSocket についてはここではあまり紹介しませんが、参考資料を添付します:
WebSocket**
HTML5 WebSocket を使用したリアルタイム Web アプリケーションの構築**
Ajax vs WebSocket**
6正しい方法。実際の状況に応じてデータ取得方法を柔軟に選択できます。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
関連書籍:
以上がフロントエンドとバックエンドのデータが科学的にどのように相互作用するべきかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
