1

Доброго времени суток, столкнулся с тупой проблемой, с которой сижу пол дня. Есть php, который возвращает данные в формате json. В оригинале код другой, но тут,в упрощённом варианте проблема та же:

  <?php
      $mas = array(
      'aaa' => 'bbb',
      'ccc' => 'sss'
    );
    echo json_encode($mas);
  ?>

С виду всё возвращается корректно

{"aaa":"bbb","ccc":"sss"}

но js отказывается его парсить, и онлайн-парсер пишет ошибку

SyntaxError: Unexpected token  in JSON at position 0

Никаких лишних символов в начале не видать, и если просто поставить курсор в начало и нажать BackSpace, то ничего не изменится,однако если стереть первую фигурную скобку, еще раз нажать BackSpace и снова поставить эту скобку, ошибка исчезает. Что за прикол?

Андрей
  • 122
  • 6
  • 1
    Возможно, пресловутая метка BOM? – Мелкий Jan 14 '17 at 17:12
  • 2
    http://ru.stackoverflow.com/questions/284578/cannot-modify-header-information-headers-already-sent-by/284587#284587 посмотрите этот ответ. У Вас ровно та же проблема- выводятся лишние символы в теле ответа перед JSON – ReinRaus Jan 14 '17 at 17:14
  • Спасибо, я решил) – Андрей Jan 14 '17 at 17:16

1 Answers1

2

Помогло конвертирование документа в кодировку UTF-8 без BOM

Андрей
  • 122
  • 6