-1

PHP-HTML ページに配列を返す AJAX 呼び出しがあります。


コードのブロックを次に示します。

Javascript:

「注: get_data.php は HTML 文字列を返すので、それを配列に格納したいと考えています。」

var param_array = new Array();
$.post('get_data.php', { id: id }, function(data))
{
    param_array.push(data);
    $('#hidden_input').val(param_array);
}

HTML:

<form action='my_function' method='post'>
    <input type='hidden' id='hidden_input' name='array_from_ajax'>
    <input type='submit' name='btn_submit'>
</form>

PHP - コードイグナイター:

my_function()
{
    $param_array = $this->input->post('array_from_ajax');
    print_r($param_array); // Will this work? will $param_array contain the value?
}

質問:

  1. 配列値を返して HTML ページに挿入することはできますか?
  2. JavaScript 配列は PHP 配列と同じですか?
  3. 最後に、私$param_arrayのPHPにはAJAX呼び出しから渡された値が含まれますか?
4

1 に答える 1

1

JavaScript と PHP は、HTTP を介してのみ通信でき、文字列を介してのみ通信できます (SOAP が可能である場合を除きます)。つまり、それらの間のデータ構造には互換性がないため、JavaScript 配列 <> PHP 配列です。同様に、入力値を JavaScript 配列に設定することはできません。

これを処理する最善の方法は、配列を入力の値に設定する前に JSON エンコードすることでしょう。PHP は、JSON を使用可能なデータ構造に簡単にデコードできます。

于 2013-05-20T01:50:56.880 に答える