Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2012, 18:04
Новичок на форуме
Отправить личное сообщение для G_M_S Посмотреть профиль Найти все сообщения от G_M_S
 
Регистрация: 02.05.2011
Сообщений: 7

AJAX и получение с сервера JavaScript'ов
Доброго времени суток. Столкнулся с проблемой, поставившей меня в тупик. Проблема: при загрузке через AJAX с сервера куска кода, содержащего JavaScript и присвоения его DIV'у при помощи elem.innerHTML = (наш результат), собственно HTML отображается корректно, а JavaScript не выполняется вообще.

Специально для проверки воткнул тупо в самом начале возвращаемого HTML-кода (перед всеми остальными тэгами)

<script type="text/javascript">
    alert('1111111 asfasdf');
  </script>

и никакого алерта не увидел Даже пробовал чисто после него die(); в скрипт воткнуть и получить только код - не выполняется. В опере открываю динамический блок, инспектирую драгонфлаем - сам КОД с алертом есть, но он почему-то не выполняется. Хэлп!!!
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2012, 18:14
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

честно говоря довольно путанно вы объясняете, но если у вас есть код попробуйте применить к нему eval();

var str = "alert('hi!')";
eval(str);
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2012, 19:28
Новичок на форуме
Отправить личное сообщение для G_M_S Посмотреть профиль Найти все сообщения от G_M_S
 
Регистрация: 02.05.2011
Сообщений: 7

Попробую объяснить более расширенно:

Есть скрипт со списком юзеров, где можно по кнопке получить статистику для каждого юзера. Кнопка:

<img src="/css/img/ad-statusnews.png" alt="Расширенная статистика" style="cursor: pointer;" onClick="JavaScript:show_stat(<?=$row[rid] ?>);">


Собственно код для открытия блока статистики:

function show_stat(id)
{
  var s = ajaxGET('stat_block.php?id=' + id);
  document.getElementById('stat_frame').style.display = 'block';
  document.getElementById('stat_background').style.display = 'block';
  document.getElementById('stat_frame').innerHTML = s;
}


Результат работы скрипта stat_block.php содержит как HTML-тэги, так и avaScript. И вот этот JavaScript НЕ ВЫПОЛНЯЕТСЯ (совсем). Тот же stat_block.php просто воткнутый на страницу иклюдом работает вполне корректно.
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2012, 20:18
Новичок на форуме
Отправить личное сообщение для G_M_S Посмотреть профиль Найти все сообщения от G_M_S
 
Регистрация: 02.05.2011
Сообщений: 7

Ну вобщем - идея с eval неплоха, но вырезать из полученного аяксом текста именно скрипты и каждый отдельно евалить меня немного коробит. Проблему решил радикально: вместо аяксов-шмаяксов просто открыл нужный скрипт в попапе. Тема закрыта вобщем.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение изображений с сервера InTheTT AJAX и COMET 7 09.12.2011 14:31
Перехват Ajax ответов от сервера shock-in AJAX и COMET 6 27.01.2011 16:49
Получение ответа сервера раньше браузера. alexandre AJAX и COMET 4 13.11.2010 15:57
Очень нужно.. Отправка HTML куски в JSON от сервера используя Ajax bivnikus jQuery 8 26.10.2010 23:54
Переодическое получение ответа от сервера demoniqus AJAX и COMET 6 22.06.2010 16:09