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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XmlHttpRequest возвращает пустую строку 
V
    Опции темы
ilta
Дата 12.11.2012, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!
Есть скрипт
Код

var XMLHTTPREQUEST;
function getXmlHttp()
{
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined')
    {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function getXMLHttpRequest(url, params)
{
    try
    {
        XMLHTTPREQUEST.abort();
    }
    catch(e){}
    XMLHTTPREQUEST = getXmlHttp();
    XMLHTTPREQUEST.onreadystatechange = fillRequestResult;
    XMLHTTPREQUEST.open("POST", url, true);
    XMLHTTPREQUEST.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    XMLHTTPREQUEST.setRequestHeader('Content-Length', params.length);
    XMLHTTPREQUEST.send(params);

    TIMEOUT = setTimeout(
                         function()
                         {
                             XMLHTTPREQUEST.abort();
                             handleError("Time over")
                         },
                            10000);
}

Есть php-файл, который максимально упрощен для вашего удобства
Код

<?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("Content-Length: 4");
echo "test";
?>

Проблема в том, что эапрос возвращает пустую строку. В чем может быть дело?

Заранее спасибо всем, кто откликнется!
PM MAIL   Вверх
Aliance
Дата 12.11.2012, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Где код функции fillRequestResult и самого вызова getXMLHttpRequest?
PM MAIL WWW ICQ Skype   Вверх
ilta
Дата 12.11.2012, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

getXMLHttpRequest(PATHTOPHP + "test.php", params);


Код

function fillRequestResult()
{
    if (XMLHTTPREQUEST.readyState != 4) return

    clearTimeout(TIMEOUT); // очистить таймаут при наступлении readyState 4

    alert(XMLHTTPREQUEST.responseText);
}

PM MAIL   Вверх
ilta
Дата 14.11.2012, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Напишу решение моей проблемы на случай, если у кого-то возникнет похожая.
В файле test.php надо указать еще один заголовок:
Код

    header("Access-Control-Allow-Origin: адрес_сайта_с_которого_приходит_запрос");

ну или
Код

    header("Access-Control-Allow-Origin: *");

PM MAIL   Вверх
Aliance
Дата 14.11.2012, 14:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



А сразу было не сказать что запрос кроссдоменный?  smile 
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 14.11.2012, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Aliance, ну, видимо, человек не знал, что это важно.
теперь знает smile
PM MAIL   Вверх
ilta
Дата 15.11.2012, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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