1

$.post が php ページまたはその他の種類のスクリプトに対して作成される場合、サーバー側で php ファイルはどのように実行されますか?

たとえば、渡される特定のパラメーターを探す php ページがあり、その要件が満たされている場合は、echo を呼び出してページに何かを書き込みます。しかし、その投稿を行うと、実際の php ページがブラウザに読み込まれないため、正確には何が実行されるのでしょうか?

「木が倒れて、周りに誰もいなくても、音はするの?」というようなことを聞​​いているような気がします。:)

4

3 に答える 3

2

サーバー側の実行は、AJAX 呼び出しとその他の呼び出しで違いはありません。明確にするために、ブラウザーのデバッグ ツール (FireBug や Chrome ツールなど) の [ネットワーク] タブを見てください。ページのロード時と AJAX リクエストが行われたときに、サーバーに対して行われたリクエストを監視します。それらはすべて同じ構造を共有しています。

主にヘッダーとコンテンツで構成される HTTP 要求がサーバーに送信され、サーバーは主にヘッダーとコンテンツで構成される HTTP 応答で応答します。リクエストには動詞 (GET、POST など) もあり、応答にはコード (200、404、500 など) もあります。これらの詳細は、AJAX リクエストであるかどうかに関係なく、すべて同じです。

たとえば、「通常の」PHP ページに対して AJAX 要求を行うと、ブラウザーのデバッグ ツールで、応答にそのページのすべての HTML が含まれていることがわかります。サーバーは違いを認識せず、リクエストに応答しただけです。

応答をどう処理するかは、クライアント (Web ブラウザー) 次第です。「通常の」ページ読み込みの場合、ブラウザは HTML ページをレンダリングします。AJAX リクエストの場合、JavaScript はレスポンスを処理する必要があります。

于 2013-07-21T21:31:33.767 に答える
0

サーバー (および PHP) に関する限り、ブラウザーページをロードしました。何も表示されないのはクライアント側だけですが、「ページ」は引き続き AJAX の結果として返されます。

于 2013-07-21T21:30:48.513 に答える
0

デモンストレーションするには:

$.post呼び出しが次のようになっている場合:

$.post('test.php',
       { param1 : "value1" },
       function(data) {
         console.log(data)
       }
);

test.phpスクリプトは次のようになりました

<?php

echo $_POST["param1"]

?>

その後、console.log(data)出力されます"value1"

呼び出しのハンドラーのecho最初のパラメーターで使用できるのは、php スクリプトです。ページに直接書き込まれることはありません。success$.posthtml

于 2013-07-21T21:34:58.670 に答える