Перейти к содержанию
JohnnyVega

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

Рекомендуемые сообщения

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

 

При выполнении какого-либо 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));

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

Скинь файл контроллера мне на почту sv2109@gmail.com, гляну. Я просто на 99% уверен что это какой-то непечатный символ в самом файле. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Скинь файл контроллера мне на почту sv2109@gmail.com, гляну. Я просто на 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От motherfaker
      Здравствуйте,подскажите как решить вот такую ошибку:Warning: call_user_func_array() expects parameter 1 to be a valid callback, cannot access protected method ControllerCommonHeader::index() in /home/mobisell/public_html/system/engine/action.php on line 51
      Она появилась после того как я установил модуль Export/import и нажал обновить модули.
      На фото все видно,изменилось меню в панели управления OC,ничего не нажимается.
      Помогите

    • От Arion
      Здравствуйте! Прошу помочь разобраться в проблеме. Полностью перестали работать модификаторы (которые в админке в разделе Модули/Расширения - > Модификаторы). Список модификаторов есть, они включаются и выключаются, НО при обновлении кэша модификаторов на сайте не происходит абсолютно никаких изменений, как будто модификаторов никаких и не установлено. Причём если я создаю файл ***.ocmod.xml и добавляю его в /system, то всё работает как и нужно, но стоит этот же код модификатора установить через админку, он совсем не работает. Не знаю в какую даже сторону копать... Ошибок в логах никаких....И не обратил внимание после чего это началось. Opencart 2.3.0.2
    • От spectre
      500.00 руб
      Скачать/Купить дополнение


      Доработка вашего сайта
      Я НЕ ЗАНИМАЮСЬ ВЕРСТКОЙ!!! ВООБЩЕ!!! 
       
       
      Услуга заключается в любой доработке вашего (программирование, функционал, новые возможности) сайта по предварительному согласованию цены и сроков реализации при условии предоставления всех требуемых доступов 
       
      Варианты цены:
       
      - 500 р - несложная доработка до получаса
      - 700 р - несложная доработка от получаса до часа
      - 1000 р - доработка от часа до двух
      - 1500 р - доработка от часа до трех
       
      ПЕРЕД ПОКУПКОЙ УСЛУГИ ОБЯЗАТЕЛЬНО СОГЛАСОВЫВАЙТЕ СО МНОЙ ВРЕМЯ И КОНКРЕТИКУ!
      Добавил spectre Добавлено 21.04.2018 Категория Услуги  
    • От spectre
      Я НЕ ЗАНИМАЮСЬ ВЕРСТКОЙ!!! ВООБЩЕ!!! 
       
       
      Услуга заключается в любой доработке вашего (программирование, функционал, новые возможности) сайта по предварительному согласованию цены и сроков реализации при условии предоставления всех требуемых доступов 
       
      Варианты цены:
       
      - 500 р - несложная доработка до получаса
      - 700 р - несложная доработка от получаса до часа
      - 1000 р - доработка от часа до двух
      - 1500 р - доработка от часа до трех
       
      ПЕРЕД ПОКУПКОЙ УСЛУГИ ОБЯЗАТЕЛЬНО СОГЛАСОВЫВАЙТЕ СО МНОЙ ВРЕМЯ И КОНКРЕТИКУ!
    • От Alex10
      Добрый день, помогите пожалуйста с решением проблемы. После установки дополнения возникла такая ошибка: 
      Parse error: syntax error, unexpected '$url' (T_VARIABLE), expecting function (T_FUNCTION) in /system/storage/modification/catalog/controller/product/category.php on line 569
       
      $url = ''; if (isset($this->request->get['filter'])) { $url .= '&filter=' . $this->request->get['filter']; } if (isset($this->request->get['limit'])) { $url .= '&limit=' . $this->request->get['limit']; } что нужно прописать в $url = ' '; , чтоб решить проблему?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.