Очень нужно.. Отправка HTML куски в JSON от сервера используя Ajax
Впервые столкнулся с этим вопросом. В общем стал юзать фреймвок jQuery. Выполняет аякс запросы хорошо.. Отправляю кусоки HTML в JSON формате. А т.к. JSON требует двойные кавычки, то в кусочках HTML, которые помещаю в JSON-ответ от сервера, приходится экранировать атрибуты тегов типа class='class1', одинарными кавычками в общем та. В общем картина такая:
$HTML = '<div class=\'class1\'>' Скрипт работает, JavaScript вставляет куски HTML, все в ажуре... НО, когда стал отправлять код, события на котором перехватываются JavaScript, он не стал их перехватывать. отправляю по аякс-запросу HTML-код с ссылкой и $(document).ready(function(){, уже стоит код перехвата кликов по данной ссылке. Аякс вставляет полученный код с ссылкой, но ссылка не работает. Перехват работает если ссылка есть в момент загрузки ВСЕЙ страницы. А если она получена через JSON массив - нифига. Не понимаю, может перехват событий возможен тока на тех элементах DOM, которые доступны с момента загрузки всей страницы чтоли |
Цитата:
Гуглите jQuery live |
Для htm'я в качестве контейнера удобнее юзать xml с секцией CDATA
|
Огромное спосибо, я к этому пришел 5 минут тому назад и прописал функцию развешивания перехватов после каждой вставки HTML..
|
danik.js,
ваше сообщение слабо относится к данной теме. по сути дела, вы увидели знакомое слово, и выдали случайный, и весьма сомнительный факт |
Да что вы такое Gvozd говорите. Сам не так давно решал подобную дилему. Сначала слал с сервера json с куском html'я, но порядком надоело экранить кавычки и переносы строк. В итоге пришол к выводу что проще использовать xml, заключая весь html-код в CDATA section, нежели json. Хотя и тут может быть подвох - внутри html-я может попасться закрывающий ]]> ...
Разумеется не всегда удобно перейти с json на xml, но вариант имеется. Так что не надо тут ;) |
Цитата:
|
Цитата:
проблема ТС была в том, что на загруженные элементы у него не распространялись навешенные ранее события. Эта проблема бы у него сохранилась, даже если бы он использовал XML |
Дело в том что я сначала писал по теме, но меня опередил Kolyaj, пришлось все удалить что строчил, ну а чтоб небыло обидно - оставил про xml ))
|
Часовой пояс GMT +3, время: 18:03. |