Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено {точка в начале config.php}] Ошибка в приходящем json-ответе (Ajax-запрос)


Recommended Posts

Приветствую, друзья.
 
Столкнулся с такой проблемой.

 

При выполнении какого-либо Ajax-запроса, в приходящем ответе добавляется символ "."
 
Например, json-ответ должен быть таким:

{.....}

А он приходит таким:

.{.....}

Соответственно, когда этот json-ответ начинает парситься в объект/массив javascript, то возникает ошибка парсинга

 

Кто-нибудь сталкивался с таким в своей практике?

 

Update1

Сам этот символ точки я отлавливаю и убираю в json-ответе ajax-запроса. Имеется ввиду в "сырых" данных, до парсинга. 

Но очень до сути докопаться охота....

 

Update2

Такая фигня по всему сайту

 

Update3

Линк на посмотреть в firebug'е или хроме

Надіслати
Поділитися на інших сайтах

Сталкивался с похожим, правда не в json. 
В редакторе KWrite есть опция "Добавлять отметку о порядке байтов (BOM)" если она включена то редактор добавляет в самое начало файла 1 непечатный символ, который потом вылазит в браузере в виде точки.

Или в контроллере, который отдает json, где-то стоит точка "." (или какой-то непечатный символ),  которая потом появляется в json

Надіслати
Поділитися на інших сайтах

Спасибо за подсказки. Это проверял в первую очередь.

 

Там такая штука, что если даже пустой массив возвращаешь

$json = array();
$this->response->setOutput(json_encode($json));

всё равно откуда-то точка появляется в ответе :(

Надіслати
Поділитися на інших сайтах

Спасибо за подсказки. Это проверял в первую очередь.

 

Там такая штука, что если даже пустой массив возвращаешь

$json = array();
$this->response->setOutput(json_encode($json));

всё равно откуда-то точка появляется в ответе :(

Скинь файл контроллера мне на почту [email protected], гляну. Я просто на 99% уверен что это какой-то непечатный символ в самом файле. 

Надіслати
Поділитися на інших сайтах

Сжатие в админке попробуйте отключить

Сжатие изначально было отключено

 

Скинь файл контроллера мне на почту [email protected], гляну. Я просто на 99% уверен что это какой-то непечатный символ в самом файле. 

Скинул

 

 

Update1

Сам этот символ точки я отлавливаю и убираю в json-ответе ajax-запроса. Имеется ввиду в "сырых" данных, до парсинга. 

Но очень до сути докопаться охота....

 

Update2

Такая фигня по всему сайту

 

Update3

Линк на посмотреть в firebug'е или хроме

Надіслати
Поділитися на інших сайтах

Ещё меня смущает, что в заголовке json-ответа

 

Transfer-Encoding: chunked

Надіслати
Поділитися на інших сайтах

Ответил на почту, еще сюда напишу, может кому пригодится.
Это, как я и предполагал выше, BOM

 

post-20996-0-77980400-1406800942_thumb.png

  • +1 1
Надіслати
Поділитися на інших сайтах

Там не всё так однозначно. Я тебе в письме написал.

 

Файл контроллера корзины (о котором отписался sv2109) был с BOM.

 

Но в тоже время файл контроллера регистрации покупателей, на который я давал ссылку выше, как положено UTF-8 (без BOM). Но в нём, не смотря на правильную кодировку, выскакивает ошибка.

Надіслати
Поділитися на інших сайтах

В-общем, был символ точки в начале /config.php

 

Сама точка была в левой верхней части экрана и малозаметна. Спасибо глазастому sv2109

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.