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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XDomainRequest в IE8, не работает XDomainRequest 
V
    Опции темы
ilta
Дата 2.12.2012, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!
Столкнулась с тем, что в IE8 не работает кроссдоменный XMLHttpRequest, пытаюсь использовать XDomainRequest.
Код

    try
    {
        PAYMENTS_XMLHTTPREQUEST.abort();
    }
    catch(e){}
    if(window.XDomainRequest)
    {
        PAYMENTS_XDOMAINREQUEST = new window.XDomainRequest;
        PAYMENTS_XDOMAINREQUEST.onerror=payments_XDR_handleError;
        PAYMENTS_XDOMAINREQUEST.onload=payments_fillXDRResult;
        PAYMENTS_XDOMAINREQUEST.open("POST", url);
        PAYMENTS_XDOMAINREQUEST.send(params);
        return;
    }
    PAYMENTS_XMLHTTPREQUEST = payments_getXmlHttp();
    PAYMENTS_XMLHTTPREQUEST.open("POST", url, true);
    PAYMENTS_XMLHTTPREQUEST.onreadystatechange = payments_fillRequestResult;
    PAYMENTS_XMLHTTPREQUEST.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    PAYMENTS_XMLHTTPREQUEST.setRequestHeader('Content-Length', params.length);
    PAYMENTS_XMLHTTPREQUEST.send(params);
    PAYMENTS_TIMEOUT = setTimeout(
        function()
        {
            PAYMENTS_XMLHTTPREQUEST.abort();
            payments_handleError("Time over")
        },
        10000);

Код

<?php
header("Content-type: application/x-www-form-urlencoded; charset=UTF-8");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Access-Control-Allow-Origin: тут имя сайта");

if (isset($_POST['bb']) && isset($_POST['host']))
{
echo "bb exist";
}

Код

function payments_fillXDRResult()
{
    alert(PAYMENTS_XDOMAINREQUEST.responseText);
}

Код

function payments_fillRequestResult()
{
    if (PAYMENTS_XMLHTTPREQUEST.readyState != 4) return;
    alert(PAYMENTS_XMLHTTPREQUEST.responseText);
}

В FF alert выводит "bb exist", а в IE8 пустую строку. В чем может быть проблема?
Заранее спасибо всем, кто откликнется.
PM MAIL   Вверх
Sanchezzz
Дата 2.12.2012, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

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



попробуйте сперва с
Код

Access-Control-Allow-Origin: *

отослать заголовок 
MSDN XDR




--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ilta
Дата 2.12.2012, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо за ответ. Я читала про этот заголовок, но разницы что с ним, что без него не заметила. smile 

Наверное, я плохо объяснила в чем проблема. Есть написать так:
Код

header("Content-type: application/x-www-form-urlencoded; charset=UTF-8");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Access-Control-Allow-Origin: http://forum.botforty-shop.ru");
echo "111";

if (isset($_POST['bb']))
{
echo "bb exist";
}

то в FF alert вернет "111bb exist", а IE8 "111". Т.е. в IE8 почему-то не передаются переменные.
PM MAIL   Вверх
Amphiluke
Дата 2.12.2012, 18:46 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

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



Почитайте это:
http://saltybeagle.com/2009/09/cross-origi...e-sharing-demo/

Видимо, для этого способа передачи выдирать данные придется из необработанных POST-данных — $HTTP_RAW_POST_DATA.
PM   Вверх
ilta
Дата 2.12.2012, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Amphiluke, мое вам большое спасибо - это решило проблему. smile  
PM MAIL   Вверх
Sanchezzz
Дата 2.12.2012, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

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



Если статья верная можно занести решение в FAQ.
ИЕ просто народный анти герой)


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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