Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2012, 14:24
Новичок на форуме
Отправить личное сообщение для ilta Посмотреть профиль Найти все сообщения от ilta
 
Регистрация: 15.10.2012
Сообщений: 4

XmlHttpRequest возвращает пустую строку
Здравствуйте!
Вот код:
getXMLHttpRequest(PATHTOPHP + "test.php", params);

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);
}

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

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

    alert(XMLHTTPREQUEST.responseText);
}


<?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";
?>

Запрос возвращает пустую строку. Подскажите, пожалуйста, в чем может быть проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 12.11.2012, 19:53
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Поставь вместо application/x-www-form-urlencoded text/plain если тебе нужно строку передать.
Ответить с цитированием
  #3 (permalink)  
Старый 14.11.2012, 14:52
Новичок на форуме
Отправить личное сообщение для ilta Посмотреть профиль Найти все сообщения от ilta
 
Регистрация: 15.10.2012
Сообщений: 4

danik.js, спасибо за ответ!

Напишу решение моей проблемы на случай, если у кого-то возникнет похожая.
В файле test.php надо указать еще один заголовок:
header("Access-Control-Allow-Origin: адрес_сайта_с_которого_приходит_запрос");

ну или
header("Access-Control-Allow-Origin: *");
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XMLHttpRequest не возвращает значение mrbean11 Firefox/Mozilla 3 04.11.2012 14:24
XMLHttpRequest и redirect developer_ AJAX и COMET 1 05.07.2012 02:33
Chome 18.0.1025.142 Prompt() возвращает NULL как строку alexben Opera, Safari и др. 10 07.04.2012 16:33
xmlhttprequest возвращает пустоту alexxus AJAX и COMET 4 11.05.2011 18:44
XMLHttpRequest status=0, хотя запрос проходит. arigasa AJAX и COMET 4 15.02.2011 20:14