通过AJAX将JavaScript数组传递给PHP类?

时间:2011-08-10 22:29:14

标签: php javascript ajax jquery

  

可能重复:
  Passing JavaScript Array To PHP Through JQuery $.ajax

我可以使用AJAX通过JavaScript将数组传递给php文件吗?在我的应用程序代码中 JavaScript根据用户输入构建参数,然后对处理脚本进行AJAX调用。

例如,如果处理脚本url是process_this.php,那么从JavaScript调用将是process_this.php?handler=some_handler&param1=p1&param2=p2&param3=p3

我可以这样做吗?:

process_this.php?handler=some_handler&param1=[array]

感谢。

4 个答案:

答案 0 :(得分:2)

使用JQUERY你可以做这样的事情

<script language="javascript" type="text/javascript">
$(document).ready(function() {

    var jsarr = new Array('param1', 'param2', 'param3');

    $.post("process_this.php", { params: jsarr}, function(data) {
        alert(data);
    });

});
</script>

php脚本

<?php print_r($_POST['params']); ?>

输出

  

数组([0] =&gt; param1 [1] =&gt; param2 [2] =&gt; param3)

答案 1 :(得分:0)

如何通过Post将JSON对象发送到PHP脚本? 看看这个PHP JSON Functions

答案 2 :(得分:0)

您可以使用JSON将数组编码为字符串,通过HTTP请求将字符串发送到PHP,并在那里解码。您也可以使用对象。

在Javascript中你做:

var my_array = [p1, p2, p3]; 
var my_object = {"param1": p1, "param2": p2, "param3": p3};
var json_array = JSON.stringify(my_array);    
var json_object = JSON.stringify(my_object);    
var URL = "process_this.php?handler=some_handler" +
          "&my_array=" + json_array + "&my_object=" + json_object; 

在PHP中,您可以:

$my_array = json_decode($_POST['my_array'])); 
$my_object = json_decode($_POST['my_object'])); 

答案 3 :(得分:0)

您可以将json对象发送到您的php,这就是标准方法