Показать сообщение отдельно
  #2 (permalink)  
Старый 01.02.2011, 10:29
Интересующийся
Отправить личное сообщение для SARD Посмотреть профиль Найти все сообщения от SARD
 
Регистрация: 28.01.2011
Сообщений: 23

Так, проблема найдена - Ajax возвращает текстовую строку, и теги <script> таким макаром выполняться не будут.
В коде вызова Ajax строку #24 меняем на вот такой код:
var x = req.responseText;
scripts = x.getElementsByTag("script");
var y = document.createElement ('script');
y.defer = true;
y.text = x;
document.body.appendChild (y);

И код страницы '/includes/edit.asp':
Код:
window.alert("111");
Что у нас происходит? А происходит вот что: на странице вызова создается тег <script>, и в него запихивается весь текст вызываемой аяксом страницы '/includes/edit.asp'. Дается разрешение на выполнение, и мы видим алерт "111".
Но есть проблема: страница '/includes/edit.asp' создается динамически, и напихано в нее может быть всего, что угодно.
Соответственно, надо: проверить ответ req.responseText на нахождение в нем тегов <script>, выдрать их и запихнуть в вызывающую страницу, а все остальное - загрузить в нужный div.
Проблема в том, что если я сделаю так:
var x = req.responseText;
scripts = x.getElementsByTagName("script");

то я получаю ошибку "Объект не поддерживает это свойство или метод".
Хоть в этом вопросе подскажите, пожалста -)
Ответить с цитированием