我知道有很多这样的问题,但我发现其中没有一个是那么清楚。
我有一个像这样的Ajax请求:
$.ajax({
type: "POST",
url: "parse_array.php",
data: "array=" + array,
dataType: "json",
success: function(data) {
alert(data.reply);
}
});
我如何将一个JavaScript数组发送到一个php文件以及将它解析成php数组的php是什么样的?
我正在使用JSON。
答案 0 :(得分:9)
$.ajax({
type: "POST",
url: "parse_array.php",
data:{ array : JSON.stringify(array) },
dataType: "json",
success: function(data) {
alert(data.reply);
}
});
你的php文件看起来像这样:
<?php
$array = json_decode($_POST['array']);
print_r($array); //for debugging purposes only
$response = array();
if(isset($array[$blah]))
$response['reply']="Success";
else
$response['reply']="Failure";
echo json_encode($response);
成功功能
success: function(data) {
console.log(data.reply);
alert(data.reply);
}
答案 1 :(得分:1)
你可以传递一个javascript对象。
JS:
var array = [1,2,3];
$.ajax({
type: "POST",
url: "parse_array.php",
data: {"myarray": array, 'anotherarray': array2},
dataType: "json",
success: function(data) {
alert(data.reply); // displays '1' with PHP from below
}
});
在php端你需要打印JSON代码:
PHP:
$array = $_POST['myarray'];
print '{"reply": 1}';
答案 2 :(得分:0)
HI,
在 parse_array.php
上使用json_encode()
并使用json_decode()