Перейти к содержимому


Фотография
- - - - -

Uncaught Ajax response no parse в Избранном


Лучший Ответ Cheren-dow , 12 November 2013 - 20:06

Uncaught Ajax response no parse. - означает что ответ с сервера не был распарсен как JSON.

В итоге видим что происходит во вкладке сеть или в дргуом месте где видно запросы - видно что вторая ссылка пустая

33s_200x0.png

Видимо SEF съедает ссылку

7hf_200x0.png

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 13

#1 Akela

Akela

Отправлено 11 November 2013 - 09:18

Кнопка "добавить в избранное", работает как надо. "Удалить из Избранного" мёртвая. В консоли выдаёт ошибку  - Uncaught Ajax response no parse.

 

http://ilgusto.dev.w...y.ru/buterbrody

 

В чём может быть причина?


  • 0

#2 Akela

Akela

Отправлено 12 November 2013 - 19:39

Добавилась ещё одна проблемка с избранным.  http://ilgusto.dev.w...oteka-retseptov.

Помимо проблемы Uncaught Ajax response no parse при удалении из избранного, появилась ещё одна.

 

После реализации отличной идеи с форума http://forum.jbzoo.com/topic/3362-ubrat-paginatciyu-i-sdelat-jquery-podgruzku/ по ajax подгрузке страниц, при добавлении материала в избранное с последующих страниц (после нажатия кнопки "Ещё рецепты") неправильно работает кнопка "Добавить в избранное"

Image 1.jpg

 

Открывается новое окно браузера со следующим содержимым

Image 2.jpg

 

Ошибки лежат по этому адресу http://ilgusto.dev.w...oteka-retseptov

 

Как можно исправить?

 


  • 0

#3 Cheren-dow

Cheren-dow

Отправлено 12 November 2013 - 20:06   Лучший Ответ

Uncaught Ajax response no parse. - означает что ответ с сервера не был распарсен как JSON.

В итоге видим что происходит во вкладке сеть или в дргуом месте где видно запросы - видно что вторая ссылка пустая

33s_200x0.png

Видимо SEF съедает ссылку

7hf_200x0.png


  • 0
Изображение
 

#4 Akela

Akela

Отправлено 13 November 2013 - 20:02

Должна же быть какая-то причина... Где копать?


  • 0

#5 SmetDenis

SmetDenis

Отправлено 13 November 2013 - 20:20

Попробуйте отключить SEF

Вы меняли шаблоны элемента JBFavorite ?


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 Akela

Akela

Отправлено 14 November 2013 - 03:16

Да, Денис, Вы правы. Глаз "замылился". Проблема "Uncaught Ajax response no parse" решена.

 

 

Осталась вторая проблема - вываливающееся окно с сообщением при добавлении/удалении из избранного из "нестандартных" мест

Image 2.jpg

 

C обычной страницы с родной пагинацией отрабатывает как надо с любых страниц. Например вот третья страница http://ilgusto.dev.webway.ru/3 (нажать на звёздочку)

 

Тот же самый продукт с третьей страницы сформированной подгрузкой Ajax (http://ilgusto.dev.webway.ru/biblioteka-retseptov) выдаёт уже окно со скрина, хотя материал в список избранного добавляется

 

Ещё одно нестандартное место http://ilgusto.dev.w...serprofile/anna (вкладка Мои рецепты), то же самое, но с переменным успехом. Иногда выдаёт "result":true, а иногда "result":false


Сообщение отредактировал Akela: 14 November 2013 - 03:21

  • 0

#7 Akela

Akela

Отправлено 15 November 2013 - 17:25

Провёл некоторые тесты, может они на мысль наведут... Всё касается открытия нижеприведённого окна:

post-5867-0-98232800-1384394372_thumb.jp

1. На своём сайте в full'е столкнулся с вылетом окна, когда был конфликт скриптов - Joomla подгружала SqueezeBox, при этом Mootools был отключён.

После устранения конфликта, "добавление/удаление в избранное" заработало как надо.

 

2. При попытке проверки "добавления/удаления в избранное" на развёрнутом Demo-сайте без активации лицензии (на странице недвижимости http://akela.dobrolad.ru/realty), никакой видимой реакции на кнопку "Добавления в избранное" не было, но в консоли появилось Uncaught Ajax response no parse.

 

При этом ссылка была сформирована полностью, и при клике на ней из FIreBug'а выскочило вышеприведённое окно, только перед строками, указанными на скрине выше, был ещё html-код с описанием того, что лицензия не активирована.

 

После активации лицензии "добавление/удаление в избранное" заработало как надо.

 

3. На этой же странице http://akela.dobrolad.ru/realty подключил ajax-подгрузку (этим способом http://forum.jbzoo.c...gruzku/?hl=ajax). Результат - на первой странице "добавление/удаление в избранное" работает, на подгружаемых вылетает вышеприведённое окно.

 

Всё вышеописанное относится и к "сравнению материалов".

 

 

Т.е. если описать суть процесса, как я её понимаю, то при полной безконфликтной загрузке страницы, инициируется некая управляющая jQuery-конструкция, которая управляет ajax-запросами кнопок Избранное и Сравнение. В случае ajax-подгрузок последующих страниц, нужно инициализировать её принудительно.

 

Вопрос - что и где?


Сообщение отредактировал Akela: 15 November 2013 - 17:27

  • 0

#8 SmetDenis

SmetDenis

Отправлено 15 November 2013 - 18:48

Тот же самый продукт с третьей страницы сформированной подгрузкой Ajax (http://ilgusto.dev.w...oteka-retseptov) выдаёт уже окно со скрина, хотя материал в список избранного добавляется

Дело как раз в AJAX. При динамической загрузке контента JS события не накладываются на нужные ссылки.
Т.е все необходимые плагины нужно инициализировать снова.
Иначе ссылка не отправлять запрос на сервер а работает как ссылкаю

На своём сайте в full'е столкнулся с вылетом окна, когда был конфликт скриптов - Joomla подгружала SqueezeBox, при этом Mootools был отключён. После устранения конфликта, "добавление/удаление в избранное" заработало как надо.

Тоже самое. Многие фатальные ошибки JS ломают инициализацию последующих скриптов.
таким образом не срабатывают бинды событий клика на ссылках.

2. При попытке проверки "добавления/удаления в избранное" на развёрнутом Demo-сайте без активации лицензии (на странице недвижимости http://akela.dobrolad.ru/realty), никакой видимой реакции на кнопку "Добавления в избранное" не было, но в консоли появилось Uncaught Ajax response no parse.

"Uncaught Ajax response no parse" - значит что ответ сервера не получилось распарсить как JSON
Такое бывает когда ответ пустой либо вывелся какой-то дополнительный не желательный HTML.

Сейчас инициализация для кнопок избранного и сравнения выглядит так
jQuery(function($){ $(".jbzoo .jsJBZooFavorite").JBFavoriteButtons(); });
jQuery(function($){ $(".jbzoo .jsJBZooCompare").JBCompareButtons(); }

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 Akela

Akela

Отправлено 15 November 2013 - 19:13

Дело как раз в AJAX. При динамической загрузке контента JS события не накладываются на нужные ссылки.
Т.е все необходимые плагины нужно инициализировать снова

...................................................
Сейчас инициализация для кнопок избранного и сравнения выглядит так

jQuery(function($){ $(".jbzoo .jsJBZooFavorite").JBFavoriteButtons(); });
jQuery(function($){ $(".jbzoo .jsJBZooCompare").JBCompareButtons(); }

 

Денис, каким образом можно инициализировать необходимые плагины для новых страниц при их Ajax-подгрузке?


Сообщение отредактировал Akela: 15 November 2013 - 19:14

  • 0

#10 SmetDenis

SmetDenis

Отправлено 15 November 2013 - 19:16

Сразу после ajax загрузки (в callback) вызывать код инициализации для новых элементов.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!