検索

ホームページ  >  に質問  >  本文

クライアント側プログラミングとサーバー側プログラミング: 違いを理解する

このコードがあります:

リーリー

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


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

P粉141035089P粉141035089421日前707

全員に返信(2)返信します

  • P粉717595985

    P粉7175959852023-10-20 14:58:23

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

    サーバーサイド言語 (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. うちはマダラ: クライアントサイドとサーバーサイドのプログラミングの違い
    3. 返事
      0
  • P粉256487077

    P粉2564870772023-10-20 13:47:59

    コードは、サーバー側クライアント側という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
  • キャンセル返事