За последние 24 часа нас посетили 18442 программиста и 1612 роботов. Сейчас ищут 1874 программиста ...

IE7 - JS - кроссдоменная передача переменных.

Тема в разделе "JavaScript и AJAX", создана пользователем DarkElf, 2 июн 2009.

  1. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Коллеги, такой вопрос.

    страница: domain_two.ru/main.html

    HTML:
    1. <script src="http://www.domain_one.ru/wwwdata/data.php"></script>
    2. <script>document.write(data.join("\n");</script>

    data.php

    PHP:
    1. <?php
    2. header('Content-type: application/javascript');
    3. $data = array();
    4. ...
    5.  
    6. ?>
    7. var data = <?php echo json_encode($data); ?>;
    8.  
    В итоге IE7 данные с другого хоста в упор не воспринимает. На одном домене все работает нормально.
    Можно как-либо обойти? Ну, кроме как использовать ajax
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    попробуй дату глобальной сделать и реврайтом data.php заменить на js
    мож что получится...
     
  3. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    отданный php JS правильно распознается именно как js.
    проблема именно в IE при кроссдоменных запросов. внутри одного домена все нормально работает
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    поэтому всё варианты хороши =)
     
  5. TheShock

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

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    Посмотри, какие заголовки отдает твой жс-файл.
     
  6. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    TheShock

    заголовки правильные. если все в пределах одного домена - работает отлично.
    если вставить в поддомен - не работает.

    если в скрипт, который отдает данные, вставить alert, то он показывает правильные данные. а из других скриптов этой переменной не видно.
     
  7. TheShock

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

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    А если заменить var data на window.data? Если не получится - выложишь ссылку - я вечером гляну.
     
  8. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Это разные области видимости.
    Юзай не data без var, а еще лучше - window.data, чтобы без нотисов.
     
  9. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    я уже писал чтоб он глобальной сделал, он сказал не работает...
     
  10. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    window.data работает;)