クライアント側プログラミングとサーバー側プログラミングの違いを理解する
P粉885562567
P粉885562567 2023-10-19 12:36:20
0
2
647

このコードがあります:

リーリー

なぜテキスト ファイルに「bar」が書き込まれず、代わりに「42」が警告されるのですか?


注: この質問の以前のリビジョンでは、サーバー上の PHP とクライアント上の JavaScript について明示的に言及していました。ある言語がクライアントで実行され、別の言語がサーバーで実行される場合 (言語が同じであっても)、問題の性質と解決策は どの 言語でも同じです。特定の言語に関する回答を見つけた場合は、このことを考慮してください。

P粉885562567
P粉885562567

全員に返信(2)
P粉604669414

PHP コードが JavaScript コード内で機能しない理由を判断するには、クライアント側サーバー側##を理解する必要があります。 # は言語とは何か、そしてそれらはどのように機能するのかを示しています。

サーバーサイド言語 (PHP など)

: データベースからレコードを取得し、ステートレス HTTP 経由で に接続し、多くの操作を実行します。セキュリティが必要なもの。これらのプログラムはサーバー上に存在し、ソース コードをユーザーに公開することはありません。 したがって、サーバー側の言語がHTTPリクエストを処理して処理していることが簡単にわかります。@decezeが言ったように、

PHPはサーバー上で実行され、HTMLとおそらくJavaScriptコードを出力します。クライアントでは、HTML が解釈され、JavaScript が実行されます。

一方、

クライアント側言語 (JavaScript など)

はブラウザー内に存在し、ブラウザー内で実行されます。 クライアントサイドスクリプトは通常、サーバーサイドではなく、ユーザーのWebブラウザによってクライアントサイドで実行されるネットワーク上のコンピュータプログラムの一種を指します。 p> JavaScript はユーザーに表示され、簡単に変更できるため、セキュリティの観点から JavaScript に依存することはできません。

したがって、サーバーに

HTTP

リクエストを送信すると、サーバーはまず PHP ファイルを注意深く読み取って、実行する必要のあるタスクがあるかどうかを確認してから、クライアントに応答を送信します。繰り返しますが、@decezeが言ったように、*PHPが応答の出力を完了すると、スクリプトは終了し、新しいHTTPリクエストが到着するまでサーバー上では何も起こりません。 * それでは、PHP を呼び出す必要がある場合はどうすればよいでしょうか?これは、ページをリロードするか、AJAX 呼び出しを使用するかなど、これを行う必要がある方法によって異なります。

これを行うには、ページをリロードし、
    HTTP
  1. リクエストを送信します。 JavaScript を使用して AJAX 呼び出しを行うことができます。これにはページをリロードする必要はありません。
  2. 良い読書:

Wikipedia: サーバーサイド スクリプティング
  1. Wikipedia: クライアント スクリプト
  2. うちはマダラ: クライアントサイドとサーバーサイドのプログラミングの違い
いいねを押す +0
P粉001206492

コードは、サーバー側クライアント側という2つの完全に独立した部分に分割されています。

リーリー

双方は HTTP リクエストとレスポンスを通じて通信します。 PHP はサーバー上で実行され、HTML コードと場合によっては JavaScript コードを出力します。これは応答としてクライアントに送信され、そこで HTML が解釈されて JavaScript が実行されます。 PHP が応答の出力を完了すると、スクリプトは終了し、新しい HTTP リクエストが到着するまでサーバー上では何も起こりません。

サンプルコードは次のように実行されます:

リーリー

ステップ 1、PHP は タグ間のすべてのコードを実行します。結果は次のようになります:

リーリー

file_put_contents この呼び出しは結果を生成せず、ファイルに「foo」を書き込むだけです。 呼び出しの結果、出力「42」が生成され、コードが元々あった場所に配置されます。

生成された HTML/JavaScript コードはクライアントに送信され、そこで評価されます。 alert 呼び出しは機能しますが、foo 変数はどこにも使用されていません。

すべての PHP コードは、クライアントが JavaScript の実行を開始する前にサーバー上で実行されます。応答には、JavaScript が操作できる PHP コードは残されていません。

特定の PHP コードを呼び出すには、クライアントは新しい HTTP リクエストをサーバーに送信する必要があります。これは、次の 3 つの方法のいずれかを使用して実現できます。

    ブラウザに新しいページをロードさせるリンク。
  1. フォーム送信。データをサーバーに送信し、新しいページを読み込みます。
  2. AJAX リクエスト。これは、現在のページから離れることなく、サーバーへの通常の HTTP リクエスト (1. および 2. を参照) を生成するために使用される Javascript テクノロジです。

これらの方法について詳しく説明する質問があります

JavaScript を使用して、ブラウザで新しいページを開いたり、

window.location を使用してフォームを送信したりして、可能性 1. と 2. をシミュレートすることもできます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート