Ajax jquery как принять массив json

216
27 февраля 2019, 13:30

Отсылаю на сервер некоторый массив с строками, сначала чтоб проверить пробую вернуть его назад:

function funcSuccessKp(data){
        console.log(data);
}
var list = ['542313', '422323'];
$.ajax({
        url: 'example.php',
        type: 'POST',
        data: {kp_list:list},
        dataType: 'json',
        success: funcSuccessKp
}); 

php:

<?
  $kp_list = json_decode($_POST['kp_list']);
  header("Content-type: application/json; charset=utf-8");
  echo json_encode($kp_list);
?>

В консоль всегда выводит null в чем проблема и как правильно передавать массив назад? (любой, в будущем данные будут обработаны и переведены в другой массив)

Answer 1

Переменную list в JavaScript нужно перед передачей преобразовать в JSON при помощи функции JSON.stringify()

Answer 2

Где-то в интернете нашел что массив надо сначала переделать в строку, а потом отправлять:

$.ajax({
    url: '/adminka/scripts/kp_array.php',
    type: 'POST',
    data: {kp_list:JSON.stringify(list)}, //вот тут
    dataType: 'json',
    success: funcSuccessKp
});

ну и... работает)

READ ALSO
Авторизация на внешнем ресурсе через PHP

Авторизация на внешнем ресурсе через PHP

Есть внешний сайт с формой авторизации (post)Можно ли с помощью PHP-файла на другом ресурсе авторизироваться на внешнем ресурсе?

205
Построить график на основе данных из базы

Построить график на основе данных из базы

Есть график,отлично строится, все работает

221
Видит файл стилей, но не видит правила?

Видит файл стилей, но не видит правила?

Сделал сжатие стилей и скриптов при помощи compressphp от Google

223