【发布时间】:2016-10-14 15:01:05
【问题描述】:
如何将 javascript 数组发送到 php? 我对每个 javascript 数组都使用 JSON.stringify 并使用 json_decode 捕获数组,但仍然无法正常工作。
我不知道该怎么做了。有什么建议吗?
在 JS 中:
jarak = new Array(koordinat_kapal_threat.length);
for (var i = 0; i < jarak.length; i++) {
jarak[i] = new Array(koordinat_kapal_threat.length);
for (var j = 0; j < jarak.length; j++) {
if (i === j) {
jarak[i][j] = 0;
} else {
var distance = getDistance(koordinat_kapal_threat[i], koordinat_kapal_threat[j]);
jarak[i][j] = distance;
}
}
}
// buat array visibilitas
visibilitas = new Array(koordinat_kapal_threat.length);
for (var i = 0; i < visibilitas.length; i++) {
visibilitas[i] = new Array(koordinat_kapal_threat.length);
for (var j = 0; j < visibilitas.length; j++) {
if (i === j) {
visibilitas[i][j] = 0;
} else {
var visibilitas_kapal = 1 / jarak[i][j];
visibilitas[i][j] = visibilitas_kapal;
}
}
}
var tau = 0.01;
// buat array feromon
feromon = new Array(koordinat_kapal_threat.length);
for (var i = 0; i < feromon.length; i++) {
feromon[i] = new Array(koordinat_kapal_threat.length);
for (var j = 0; j < feromon.length; j++) {
feromon[i][j] = tau;
}
}
var banyak_semut = koordinat_kapal_threat.length;
var a = JSON.stringify(koordinat_kapal_threat);
var b = JSON.stringify(jarak);
var c = JSON.stringify(visibilitas);
var d = JSON.stringify(feromon);
var data = {
koordinat_kapal_threat: a,
jarak: b,
visibilitas: c,
feromon: d,
banyak_semut: banyak_semut
};
$.ajax({
type: "POST",
dataType: "json",
url: "algoritmaAnt.php",
data: data,
success: function (result) {
var data = JSON.parse(result.responseText);
var jalur = new google.maps.Polyline({
path: data,
geodesic: true,
strokeColor: '#FCFF49', strokeOpacity: 1.0,
strokeWeight: 2,
});
jalur.setMap(map);
}
});
在 PHP 中:
$koordinat_kapal_threat =json_decode($_POST['koordinat_kapal_threat']);
$jarak = json_decode($_POST['jarak']);
$visibilitas =json_decode($_POST['visibilitas']);
$feromon = json_decode($_POST['feromon']);
$banyak_semut = $_POST['banyak_semut'];
【问题讨论】:
-
如果您不提供相关代码以及您尝试发送的数组的一些解释,我们不可能知道为什么某些东西不起作用
-
您是在使用 jQuery 还是使用什么来发送和获取数据...?
-
我已经更新了我的问题@charlietfl
-
不是 JQuery 兄弟 @ArunaWarnasooriya
-
其实根本不需要转换成json,也不需要解码。
var data ={ property_1:[1,4,5]}可以在$_POST['property_1]中作为数组接收。
标签: javascript php arrays ajax