Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не вызывается функция при подгрузке HTML 
:(
    Опции темы
swing1991
Дата 27.12.2011, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.12.2011

Репутация: нет
Всего: нет



Есть сервер на PHP, который возвращает ответ в HTML.
Я в ответ от сервера вставляю, допустим: 
Код
Блаблалалала <script> alert(123);</script>
 и ничего не происходит, то есть "Блаблалалала" выводится, а скрипт не исполняется.
Предварительно я вставляю его в div через свойство innerHTML.
Если вставить 
Код
alert(123);
 в div вручную, то все работает.

шаблона Smarty:
Код
<script> alert(123);</script>
ID: <script>setBaseID({$user[0][0].id});</script>
<div id='userInfo'>
Репутация: 
{if $user[0][0].reputation>0} 
<font color="green">
{else if $user[0][0].reputation<0}
<font color="red">
{else}
<font color="grey">
{/if}
<b>{$user[0][0].reputation}</b></font><br>
Рубли: <b>{$user[0][0].money}</b><br>
Патент до: <b>{$user[0][0].patent|date_format:"%Y-%m-%d %H:%M"}</b></div>


Код HMTLки:
Код

<div id="user">
<script>alert(123);</script>//алерт вызвался
<center>ЛОГОТИП</center>
</div>


Код подгрузки, через jQuery:
Код

window.onload = (function() {VK.init(VKInited);});

function VKInited() 
{ 
    var parts=document.location.search.substr(1).split("&");
    var flashVars={};
    for (i=0; i<parts.length; i++) {
        var curr = parts[i].split('=');
        flashVars[curr[0]] = curr[1];
    }
    viewer_id = flashVars['viewer_id'];
    auth_key = flashVars['auth_key'];
    loadAPI({do:'userLogin'},userLoaded);
}

function loadAPI(params,callback)
{
    var host = 'http://127.0.0.1/shop';
    var url = host + '/api.php';
    params.uid=viewer_id;
    params.auth=auth_key;
    $.get(url,params,callback);
}

function userLoaded(data)
{
    document.getElementById('user').innerHTML = data;
}







P.S. Через Charles тестил, данные возвращаются в правильном формате. Консоль ошибок JS ни на что не жалуется.


Надеюсь на помощь, спасибо.




Это сообщение отредактировал(а) swing1991 - 27.12.2011, 13:22
PM MAIL   Вверх
ksnk
Дата 27.12.2011, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(swing1991 @  27.12.2011,  13:22 Найти цитируемый пост)
  document.getElementById('user').innerHTML = data;
...
P.S. Через Charles тестил, данные возвращаются в правильном формате. Консоль ошибок JS ни на что не жалуется.


Потому, что надо пользоваться jQuery, когда используется jQuery.

Метод .load, насколько я помню, исполняет вставленные в пришедший html скрипты.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
swing1991
Дата 27.12.2011, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.12.2011

Репутация: нет
Всего: нет



Цитата(ksnk @ 27.12.2011,  14:43)
Цитата(swing1991 @  27.12.2011,  13:22 Найти цитируемый пост)
  document.getElementById('user').innerHTML = data;
...
P.S. Через Charles тестил, данные возвращаются в правильном формате. Консоль ошибок JS ни на что не жалуется.


Потому, что надо пользоваться jQuery, когда используется jQuery.

Метод .load, насколько я помню, исполняет вставленные в пришедший html скрипты.

Огромное Вам спасибо, скрипт исполнился. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.