Проблема в получении Http Response в Chrome - PullRequest
1 голос
/ 05 апреля 2010

Я пытаюсь получить http-ответ от php-веб-службы в javascript, но получаю нулевое значение в Firefox и Chrome. Скажите, пожалуйста, где я делаю ошибку, вот мой код,

function fetch_details()
{
 if (window.XMLHttpRequest)
 {
  xhttp=new XMLHttpRequest()
  alert("first");
 }
else
 {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP")
  alert("sec");
 }
 xhttp.open("GET","url.com",false);
 xhttp.send("");
 xmlDoc=xhttp.responseXML;
 alert(xmlDoc.getElementsByTagName("Inbox")[0].childNodes[0].nodeValue);
}

Я пробовал также с ajax, но не получаю http ответ, вот мой код, пожалуйста, наведите меня

var xmlhttp = null;
var url = "url.com"; 
if (window.XMLHttpRequest) 
{ 
   xmlhttp = new XMLHttpRequest(); 
   alert(xmlhttp); //make sure that Browser supports overrideMimeType 
   if ( typeof xmlhttp.overrideMimeType != 'undefined') 
   {                     
      xmlhttp.overrideMimeType('text/xml'); 
   } 
} 
else if (window.ActiveXObject) 
{ 
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{ 
   alert('Perhaps your browser does not support xmlhttprequests?'); 
} 

xmlhttp.open('GET', url, true);
xmlhttp.onreadystatechange = function() {

if (xmlhttp.readyState == 4)
{
   alert(xmlhttp.responseXML);
} 
};

}

// Сделать фактический запрос xmlhttp.send (нуль);

Я получаю xmlhttp.readyState = 4 xmlhttp.status = 0 xmlhttp.responseText = ""

Скажите, пожалуйста, где я делаю ошибку

Ответы [ 3 ]

1 голос
/ 18 февраля 2011

Вы выполняете междоменный запрос.

Вам разрешено делать запросы xmlhttp только на один и тот же хост.

0 голосов
/ 02 апреля 2012

Это междоменная проблема, для ее устранения заголовок ответа сервера должен содержать "access-control-allow-origin"

Если ваш сервер написан на PHP, заголовок должен быть похож на следующий пример:

<?php
    header('Content-type: text/html');
    header('Access-Control-Allow-Origin: *');
    $uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    echo('<p>This information has come from <a href="' . $uri . '">' . $uri . '</a></p>');
?>
0 голосов
/ 05 апреля 2010

Я ничего не могу прочитать, но в Chrome есть консоль JavaScript, которая, вероятно, скажет вам, что вы делаете неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...