我发现很难从php文件中访问数组中的元素。该数组通过ajax调用传递。请查看下面的ajax调用。
var data = ['test1', 'test2', 'test3'];
$(document).ready(function () {
$("button").click(function () {
$.ajax({
type: "POST",
url: "getResult.php",
data: {
testData: data
},
success: function (data, status) {
alert("Data: " + data + "\nStatus: " + status);
}
});
return false;
});
});
服务器端PHP代码是
$myArray = $_POST["testData"];
echo $myArray;
但是,$myArray总是返回数组中的最后一个elementtest3。如何访问first here test1和其他元素?请帮帮忙。
发布于 2013-02-15 02:31:10
您需要做的是将JavaScript数组转换为JSON,然后通过该JSON发送。在PHP端,您应该将JSON解码回一个数组。最后,应该将数组重新编码为JSON,然后再将其发回。
在您的客户端,更改一行:
data: {testData : JSON.stringify(data)},
在您的服务器端执行以下操作:
$myArray = json_decode($_POST["testData"]);
header('Content-Type: application/json');
echo json_encode(array('pheeds' => $pheeds, 'res' => $res));
发布于 2013-02-15 02:30:09
JS:
JSON.stringify(data)
PHP:
$myArray = json_decode($_POST['data']);
发布于 2013-02-15 02:36:07
对于简单的结构,可以使用jQuery Param
data : $.param({testData:data})
这样,您就可以使用以下命令访问数据了
echo $_POST["testData"][0]...[2];
https://stackoverflow.com/questions/14881550
复制相似问题