2

私はphpアプリケーションに取り組んでおり、jqueryとphpの間で通信するためのインターフェースを構築する必要があります。私はすでに機能しているコントローラー/アクションを持っています。リクエストでphpに配列を送信する必要がある場合、jQueryと通信する最良の方法は何ですか。

例: リクエストを満たすために必要なデータ:

$request_data = array 
(
  'key1' => 'value1',
  'list1' => array
  (
    'listkey1' => 'listvalue1',

  )
)

これを「通常の」ポストリクエストとは別の方法で送信する必要がありますか、またはjsonでエンコードされた配列で1つのポスト変数を送信する方が簡単ですか? ($post_json="{キー: 値....})

焦点はjqueryへの簡単な統合にあります

編集: データをクライアントに渡すことではなく、配列をクライアントから php-script に渡すことです

4

2 に答える 2

3

phps json_encode()を使用して応答を生成し、クライアントのjqueryで読み取りますか?

$.getJSON('youpage.php', function(data) {
  $.each(data, function(key, value) {
    alert(key + '=>' + value);
  });
}

http://php.net/manual/en/function.json-encode.php

アップデート

クライアントからphpへの別の方法での通信に関して。それはすべて、実際に目前のタスクに依存します。ドロップダウンのデータが純粋にフォームのエントリに依存している場合、それ以外の場合はステートレスです。次に、最適なルートはバックエンドコードによって異なります。個々の変数を使用してajax投稿を行うか、送信する前にそれらを1つの変数に連結してから、バックエンドで分割することができます。または、あなたが言うように、json文字列を作成してから、バックエンドでjson_decodeを使用することもできます。

どのルートが目的に適しているかは多くの要因に依存し、正しいまたは間違ったエラーがあるとは思いません。

個人的には、バックエンドへのAJAX POSTリクエスト(PHPコーダーではありません)を生成してから、リクエストオブジェクトを直接処理します。それでもデータ構造を処理する必要があるので、リクエストからjsonを逆シリアル化するオーバーヘッド/追加の手順を追加するのはなぜですか。

于 2012-09-25T21:01:00.700 に答える
1

jquery postを使用できます

$.post('url', data, function(data) {
  console.log(data);
});

PHPでデータにアクセスできます

echo $_POST['key1'];
echo $_POST['key2'];
于 2012-09-25T21:12:22.803 に答える