使用ajax将javascript数组发送到php
如何将javascript数组发送到php? 我已经使用JSON.stringify访问了每个javascript数组,并使用JSON_decode捕获该数组,但仍然不起作用 我不知道该怎么做了。有什么建议吗 在JS中:使用ajax将javascript数组发送到php,javascript,php,arrays,ajax,Javascript,Php,Arrays,Ajax,如何将javascript数组发送到php? 我已经使用JSON.stringify访问了每个javascript数组,并使用JSON_decode捕获该数组,但仍然不起作用 我不知道该怎么做了。有什么建议吗 在JS中: jarak = new Array(koordinat_kapal_threat.length); for (var i = 0; i < jarak.length; i++) { jarak[i] = new Array(koordinat_kapal_t
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);
}
});
这是一种简单的方法,您需要使用JSON.stringify将数据编码为JSON,类似地,使用JSON_decode提取数据
JavaScript
var a=JSON.stringify(您的数组名称);
var b=JSON.stringify(jarak);//你的阵列
// Ajax Call
$.ajax({
type: "POST",
dataType: "json",
async:true,
url: "algoritmaAnt.php",
data: {'data1':a,'data2':b},
success: function (result) {
// your success operation;
}
});
PHP代码
$jarak = json_decode($_POST['data1']);
$data2 = json_decode($_POST['data2']);
print_r($jarak);
print_r($data2);
不需要对数组进行字符串化。如下所示更改您的数据变量
var data = {
koordinat_kapal_threat: koordinat_kapal_threat,
jarak: jarak,
visibilitas: visibilitas,
feromon: feromon,
banyak_semut: banyak_semut
};
如果你不提供相关的代码以及一些关于你想发送什么数组的解释,我们不可能知道为什么有些东西不起作用。你是使用jQuery还是发送和获取数据…?我已经更新了我的问题@charlietflNot jQuery bro@arunawarnasooriya实际上根本不需要转换为json,也不需要从json解码
var data={property_1:[1,4,5]}
可以在$\u POST['property_1]
中作为数组接收。我如何发送我在示例中给出的多个数组?根据您的需要编辑,在ajax中调用数据也使用JSON方法,因此您可以使用分隔符在ajax中追加数据,如何捕获结果?我的例子是真的还是错的?
var data = {
koordinat_kapal_threat: koordinat_kapal_threat,
jarak: jarak,
visibilitas: visibilitas,
feromon: feromon,
banyak_semut: banyak_semut
};