У меня небольшая проблема, связанная с ajax и json.
Я использую таблицы данных в своем проекте, который имеет .toArray ();чтобы получить выбранную строку в массив.После этого я делаю пост Ajax, чтобы преобразовать его из Javascript в PHP.
JS
var rowArray = dt.rows({
selected: true
}).data().toArray();
rowArray = JSON.stringify(rowArray);
$.ajax({
type: 'POST',
url: 'customer.php',
data: {
rowArray
}
});
PHP
$json = json_decode($_POST['rowArray']);
$phparra = array();
foreach ($json as $value) {
$phparra[] = $value;
}
Я потом использую данные, чтобы передать их в функцию PHP.
Я не знаю, где именно проблема, но я думаю, что это формат массива или часть декодирования.
Если я заменю rowArray
на простой массив, подобный этому:
JS
var cars = ["Saab", "Volvo", "BMW", "asdasd", "123123"];
cars = JSON.stringify(cars);
$.ajax({
type: 'POST',
url: 'customer.php',
data: {
cars
}
});
PHP
$json = json_decode($_POST['cars']);
$phparra = array();
foreach ($json as $value) {
$phparra[] = $value;
}
Он отлично работает и передает данные в функцию PHP и т. Д.
Есть идеи, как изменить парсер или что-то еще?Вот данные формы
rowArray:
rowArray: [{
"DT_RowId": "row_100030",
"crapper_customer_intranet": {
"kundenr": "100030",
"navn": "c/o Plejehjemmet Sandfeldgården",
"cvrnr": null
},
"nessus_vulnerability": {
"ip": null
}
}]
автомобили:
cars: ["Saab","Volvo","BMW","asdasd","123123"]
Надеюсь, кто-то может помочь!