如何使用AJAX将数组发送到PHP

时间:2016-04-06 08:27:02

标签: php jquery arrays ajax

我有这个数组

var Age=[$(".AJcountry").find(".focus").html()];

和这个AJAX

$.ajax({
    type: "GET",
    url: '../connect.php',
    data: "CountS=" + Age,
    success: function (dataa)
    {
        alert(dataa);
    }
});

但它只返回最后选择的项目。如何向PHP中的所有内容发送

3 个答案:

答案 0 :(得分:1)

使用循环

var Age=[];

$(".AJcountry").find(".focus").each(function(){
Age.push($(this).html());
});

在ajax中:

data: {CountS:Age},

在php中你做:

echo $_GET['CountS'][0];//get the first

或循环

答案 1 :(得分:0)

如果您为data的{​​{1}}属性提供了一个对象,那么jQuery将为您序列化它:

$.ajax

另请注意,当您将data: { CountS: Age } 元素的html()值放入数组时,该数组始终只包含一个字符串元素,因此数组本身在这种情况下似乎完全是多余的。

答案 2 :(得分:0)

将数组转换为JSON,如下所示:

var json = JSON.Stringify(Age);

然后像你正在做的那样通过AJAX发送它:

data: {CountS: Age}

在后端将JSON转换回如下数组:

$json = json_decode($_GET['CountS']);

此方法在传输数据之前将数据转换为非常小的文本字符串。 PHP后端然后将其转换回数组。此方法也适用于JavaScript中的大多数对象。您可以阅读有关JSON here

的更多信息