За последние 24 часа нас посетили 50173 программиста и 1691 робот. Сейчас ищут 1032 программиста ...

Как устроено выполнение js в jQuery.ajax()

Тема в разделе "JavaScript и AJAX", создана пользователем alexey_baranov, 13 янв 2011.

  1. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Привет!

    Объясните ламаку, как в jQuery.ajax("some_honst://page.php") устроили, что выполняется javascript, который содержится в странице ответа. Например если в полученном ответе был код
    [js]<script>
    alert(1);
    </script>
    [/js]
    то в момент, когда браузер получит ответ, на экране появится окно "1". Не могу понять, как это.

    Спасибо!
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    eval() ?

    А что в исходниках?
     
  3. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    eval чего? eval() всего ответа не привел ни к какому результату. Может там разбор кода, который выделяет все содержимое всех тэгов <script> и для них по очереди делает eval()?

    в каких?
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    джевкеревских
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Там создаётся фрейм и в него ответ загружается, на сколько я помню. Во всяком случае если у тебя есть фрейм и ты в него загрузишь (с помощью js или просто формы) код типа
    HTML:
    1. alert(1);
    , то он сработает.
     
  6. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    ну там разная байда. смысла нет все приводить, все равно не понятно будет. хотя бы на примере разобраться.
    [js]<script>
    alert(1);
    </script>[/js]
    так-то да, но не похоже что так, потому что это не будет работать как надо. К примеру, такой код в ответе не создаст в окне переменную, а создаст ее во временном фрейме. Неужели от так бажно и работает?!
    [js]<script>
    window.x= 1
    </script>[/js]
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Можно в главном окне создать какую-то функцию, а в присланном коде - её вызвать, например.
     
  8. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    То есть в iframe загружаем что-то вроде этого:
    HTML:
    1. <script language="JavaScript" type="text/javascript">
    2. window.parent.functionName();
     
  9. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Выпарсивание жаваскрипта, создаение script тега и вставка его в DOM
     
  10. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Ясно! а где ты прочитал про это? я на jquery.com доку перечитывал, так и не нашел сам.
     
  11. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    В сырцах копался. Давно правда, года два назад, может и поменялось чего с тех времен.