Вход

Просмотр полной версии : При загрузке AJAX методом load обрезаются теги script


Telnet
18.11.2011, 21:19
Делаю пагинацию без перезагрузки страницы.
На этих страницах содержатся Javascript, не везде но иногда встречаются
При загрузке html через AJAX методом load, обрезаются скрипты
Кто нить знает как это исправить.
Страницы загружаю с того же домена, откуда и сам скрипт

$("#result").load("ajax/test.html .blog");

Почему использую метод load он позволяет сразу вставлять полученный результат в тег с классом blog

melky
18.11.2011, 21:58
попробуйте использовать $.ajax

Nekromancer
18.11.2011, 23:08
При методе html() скрипты тоже вырезаются, но правда jQuery их пытается исполнять. Но то, как оно это делает - оставляет желать лучшего. По этому я писал свою очередь исполнения для скриптов которые приходят через AJAX.
В принципе загружать вот так вот скрипты с сервера вообще не стоит, но всё же.
А с методом load конечно будут проблемы, он ведь вставляет полученных код во фрейм. И если там скрипты и загружаются, то скорее всего как раз туда :)

Telnet
19.11.2011, 00:22
$.ajax({
url: href,
dataType: "html",
cache: false,
success: function(html){
var blog=$(".blog", html);
alert(blog);
$('.blog').parent().append(blog);
}
});
Пытаюсь найти класс блог в полученном ответе и вставить вместо того элемента с классом блог который есть сейчас, но че то он ни чего не ищет.

И все таки загруженные скрипты не отображаются
dataType: "html",
побывал писать и text и script все равно скрипты не отображаются

Nekromancer
19.11.2011, 00:31
Кто же ищет в строке DOM элементы.

Telnet
19.11.2011, 00:34
а как надо?

Nekromancer
19.11.2011, 01:14
Ну в вашем случае наверно получать с сервера просто только тот контент который нужен и скрипты, тогда функция html сама его загрузит, правда не факт, что правильно.
Либо парсить регулярками контент из полученных вами данных, парсить теги скрипты и загружать/исполнять их по очереди, после вставки контента.

Telnet
19.11.2011, 01:26
Вас понял вот это головняк...