При загрузке AJAX методом load обрезаются теги script
Делаю пагинацию без перезагрузки страницы.
На этих страницах содержатся Javascript, не везде но иногда встречаются При загрузке html через AJAX методом load, обрезаются скрипты Кто нить знает как это исправить. Страницы загружаю с того же домена, откуда и сам скрипт $("#result").load("ajax/test.html .blog"); Почему использую метод load он позволяет сразу вставлять полученный результат в тег с классом blog |
попробуйте использовать $.ajax
|
При методе html() скрипты тоже вырезаются, но правда jQuery их пытается исполнять. Но то, как оно это делает - оставляет желать лучшего. По этому я писал свою очередь исполнения для скриптов которые приходят через AJAX.
В принципе загружать вот так вот скрипты с сервера вообще не стоит, но всё же. А с методом load конечно будут проблемы, он ведь вставляет полученных код во фрейм. И если там скрипты и загружаются, то скорее всего как раз туда :) |
как искать теги в ответе AJAX
$.ajax({
url: href, dataType: "html", cache: false, success: function(html){ var blog=$(".blog", html); alert(blog); $('.blog').parent().append(blog); } }); Пытаюсь найти класс блог в полученном ответе и вставить вместо того элемента с классом блог который есть сейчас, но че то он ни чего не ищет. И все таки загруженные скрипты не отображаются dataType: "html", побывал писать и text и script все равно скрипты не отображаются |
Кто же ищет в строке DOM элементы.
|
а как надо?
|
Ну в вашем случае наверно получать с сервера просто только тот контент который нужен и скрипты, тогда функция html сама его загрузит, правда не факт, что правильно.
Либо парсить регулярками контент из полученных вами данных, парсить теги скрипты и загружать/исполнять их по очереди, после вставки контента. |
Вас понял вот это головняк...
|
Часовой пояс GMT +3, время: 18:42. |