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

173
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-файла на другом ресурсе авторизироваться на внешнем ресурсе?

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

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

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

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

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

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

179