Здесь образец XMLHttpRequest, который я вымотал из w3schools
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var T="nothing";
xmlhttp=new XMLHttpRequest();
xmlhttp.overrideMimeType('text/plain'); // don't sc
xmlhttp.onreadystatechange=function()
{
alert ("rdystate: " + xmlhttp.readyState);
alert ("status: " + xmlhttp.status);
alert ("Text: " + xmlhttp.statusText);
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
T = xmlhttp.responseText;
}
}
xmlhttp.open("GET","SBL_PROBES.htm",true);
xmlhttp.send(null);
//T = xmlhttp.responseText;
alert(T);
}
</script>
</head>
<body>
<h2>Using the XMLHttpRequest object</h2>
<div id="myDiv"></div>
<button type="button" onclick="loadXMLDoc()">CHange Content</button>
</body>
</html>
XMLHttpRequest всегда возвращает нулевой статус.
Ничего не отображается в консоли ошибок Firefox.
Если я изменил запрос на синхронный, изменив строку
xmlhttp.open("GET","SBL_PROBES.htm",true);
к
xmlhttp.open("GET","SBL_PROBES.htm",false);
и не комментировать строку
//T = xmlhttp.responseText;
Возвращается текст запрашиваемого файла.
HTM и файл находятся в одном каталоге. Если вы попробуете это, вам понадобится файл SBL_PROBES.htm, также он не имеет значения.
Я использую Firefox 3.6.22.
Может ли это быть проблемой перекрестного домена? Если да, то почему он работает как синхронный запрос?