-1

この質問は概念的なもの (プログラミング指向ではない) かもしれませんが、正しくプログラミングするには、これらがどのように連携するかを理解する必要があると感じています。

私が知っていること:
1)phpはhtmlで使用できるプログラミング言語です
2)javascriptはhtmlから呼び出されます
3)jsonはphp配列をjavascript配列に変換するために使用され
ます4)ajaxはjsonを呼び出す方法です

だから私の質問は...
1)どちらが優先されますか?つまり、PHPの前にJavaScriptコードが呼び出されますか?
2) json を要求する javascript に ajax がある場合..それはいつ呼び出されますか? それはphpの後ですか?

最初と最後に進むステップのように、物事がどのように機能するのか混乱しています。

4

3 に答える 3

6

あなたが言ったことのすべての不正確さを訂正します。あなたは独学のようです (ちなみに、それは悪いことではありません)。

  • HTML はマークアップ言語です。
  • PHP は、(必要に応じて) HTML を出力できるサーバー側の処理言語です。
  • JavaScript はクライアント側の処理言語であり、(必要に応じて) ドキュメント オブジェクト モデル (厳密には正確ではありませんが、必要に応じて HTML ドキュメント) を変更できます。
  • JSON はマークアップ言語です。通常、データの転送に使用されます。
  • AJAX は、ページを更新せずにクライアントからサーバー側のプロセスをトリガーするために一般的に使用される JavaScript 手法です。

つまり、PHP は HTML を「構築」し、JavaScript は HTML を充実させることができます。AJAX は JS 関数 (xmlHTTPRequest & co) のサブセットであり、PHP ページ (または他のページ) に ping を実行してデータを取得することができます。JSON を出力する場合は、この JSON オブジェクトを解析してオブジェクトを取得できます。

典型的な例:

testpage.html

<!doctype html>
<head>
<title>Test page</title>
</head>
<body>
<textarea id="test""></textarea><button id="mybtn">Test</button>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
 $(function() {
  $("#mybtn").click(function() {
   $.ajax({
       url: "page.php",
       type: "GET",
       dataType: "json",
       success: function(d) {
          $("#test").text(d.randomNumber);
       } 
    });
    return false;
   });
  });
  </script>
 </body>
</html>

page.php

<?php echo json_encode(array("randomNumber" => rand(1,10))); ?>

それを実行すると ( http://www.sebrenauld.co.uk/testpage.htmlで自由にホストできます)、ボタンをクリックすると、テキストエリアに乱数が表示されます。

そのボタンをクリックすると、実際に何が起こるでしょうか。

ボタンをクリックすると、ブラウザは GET 経由で /page.php にリクエストを送信します。このリクエストは JSON オブジェクトを返します。これは、jQuery によって自動的にオブジェクトとして解釈されdます。次に jQuery がsuccessコールバックを起動し、フォームが更新されます。出来上がり!

ご不明な点がございましたら、お気軽にお問い合わせください。私は助けるためにここにいます。

于 2013-03-29T14:21:28.717 に答える
1
  • PHP は、HTML を生成できる動的プログラミング言語です。サーバー上で実行されます。
  • JavaScript は、クライアント (ブラウザー) 上で実行される動的プログラミング言語です。
  • JSON はJavaScript Object Notationであり、PHP に固有のものではありませんが、PHP を使用して PHP 配列を JavaScript 配列に出力するために使用できます。
  • AJAX は、JavaScript で非同期要求を作成し、応答を受信する方法です。
  • PHP は、JavaScript を呼び出すために必要なタグを含む HTML を生成する必要があるため、PHP が優先されます。
  • PHP は、ページを作成する際の開始時に呼び出されます。AJAX 要求は、PHP コードが存在する URL を呼び出すことができます。PHP が応答を生成している間、元のページの JavaScript を実行できます。
于 2013-03-29T14:19:04.263 に答える
1

これらの部品がどのように組み合わされるかについての概要は次のとおりです。

サーバー対クライアント

すべての要素を理解するには、サーバーとクライアントの違いを理解する必要があります。

ブラウザーのアドレス バーにアドレスを入力したり、リンクをクリックしたりして Web ページを開くと、Web ブラウザーは、目的の Web ページが保存されている別の場所にある別のコンピューターに要求を送信します。基本的には、そのコンピューターに Web ページを要求することであり、そのコンピューターが何を返すかを決定します。このコンピューターを「サーバー」と呼びます。これは、Web ページを「提供」しているためです。

サーバーが必要な処理を行うと、ページがブラウザに返されます。次に、ブラウザは返されたデータを解釈し、見栄えのする方法で表示します (Web デザイナーがデータをきれいに作成したと仮定します)。お客様のブラウザを「クライアント」と呼びます。

次に、あなたが尋ねた特定のテクノロジーについて:

PHP

PHP は「サーバーサイド」言語と呼ばれます。これは、サーバー上で実行され、ブラウザーに送り返される Web ページの作成を支援することを意味します。ブラウザに表示される前に実行されます。

JavaScript

JavaScript は「クライアント側」言語と呼ばれます。ブラウザー内で実行され、物事を変更し、新しい情報を読み込み、ページをインタラクティブにします。ページが読み込まれるまで実行されません (ページが読み込まれるときもありますが、ブラウザがページの解釈を開始するまで実行されません)。覚えておくべき重要なことは、PHP は生成する HTML 内に JavaScript を生成できるということです。

JSON

JSON は「JavaScript Object Notation」の頭字語です。JSON は言語ではありません。これは JavaScript の要素です。JSON は何もしません。これは、整理された有用な方法でデータを表す方法です。

PHP は、データを有用な形式でクライアントに直接渡す方法として、JavaScript のブロック内に JSON オブジェクトを「出力」できます。json_encode()PHP オブジェクトは、一般的に言えば、複雑な配列またはオブジェクトの JSON 表現を返すなどの関数を使用して JSON に「ダンプ」できます。

JSON は単なる配列ではありません。これをもっと調べてください。

AJAX

AJAX は、「Asynchronous JavaScript And XML」を表す別の頭字語です。(XML は必ずしもプロセスの一部であるとは限らず、最近ではますます珍しくなっているため、やや誤解を招く名前です。そのため、名前のその部分について心配する必要はありません。)

要するに、AJAX もそれ自体は言語ではありません。Webページ全体をリロードすることなく、サーバーからより多くの情報/データを要求するJavaScript内の手法です。

AJAX のより一般的な用途の 1 つは、あなたが言ったように、サーバーから JSON オブジェクトを要求することです。これが AJAX の唯一の用途というわけではありませんが、特にインタラクティブなアプリケーションでは一般的な用途です。

優先順位

簡単な答え: PHP はサーバー上に存在するため、JavaScript よりも前に存在します。JSON と AJAX は JavaScript 言語の要素であるため、ブラウザーの JavaScript 内で発生します。

JavaScript がサーバーから JSON を要求するために AJAX 呼び出しを行うときはいつでも、PHP が要求を解釈して JSON をブラウザーに送り返すために使用される言語になるという良い変更があります。

--

うまくいけば、それは役に立ちます。ZendMozilla Developer Networkなどのリソースを確認してください。開始するのに適した場所を次に示します。

于 2013-03-29T14:41:10.633 に答える