Несколько json_encode в ajax запросе

344
20 февраля 2017, 19:04

Нужно вывести содержимое двух массивов с помощью ajax. появляется ошибка в js при распарсивании массива Unexpected token { in JSON at position 19

$.ajax({
  url: "1.php",
  type:"POST",
  success: function(data){
       data=JSON.parse(data);
       console.log( "Прибыли данные: ", data );
  }
});
<?php
    $arr1=array("a"=>1,"b"=>2,"c"=>3);
    echo json_encode($arr1);
    $arr2=array("foo"=>132,"bar"=>456,4);
    echo json_encode($arr2);    
 ?>
Answer 1

Потому что как только вы один раз написали echo, всё — поезд ушёл. Ушёл в город ajax на станцию success (ну или complete). Второе echo уже едет в белебердовку.

Чтобы отправить оба, нужно их положить в отдельную переменную:

$data = ['arr1' =>  $arr1, 'arr2' => $arr2];

и затем это всё отправить:

echo json_encode($data);
READ ALSO
Встраивание в DOM с помощью jQuery, влияние на SEO

Встраивание в DOM с помощью jQuery, влияние на SEO

Доброго времени сутокСитуация следующая:

274
Передать значение input в модал

Передать значение input в модал

Допустим есть у меня input, значение которого нужно передать в input, который находится в ModalПодскажите, как можно реализовать это

335
Парсер JSON с массивами

Парсер JSON с массивами

Всем привет! Есть файл JSON (можно его изменить для решения задачи)В нем содержатся настройки и данные для автоматического заполнения форм

417