-1

我有一个 AJAX 调用将数组返回到 PHP-HTML 页面。


以下是一些代码块:

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 - CodeIgniter:

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 回答