nginx ajax
Есть некоторый сайт, на нем пользую технологию ajax. На сервере был apache. Все работало на ура! Теперь поставили фронтенд nginx и ajax перестал работать, причем только в FireFox (Konqueror и IE продалжают нормально работать).
request.readyState = 4
request.responseText = 411 Length Required
Причем в заголовках возвращаемой страници есть поле Content-Length!
Разбираюсь на такой страниче (index.html):
[html]<html>
<head>
<title>Test page</title>
<script language="javascript">
var request;
var abortRequest = null;
var RequestStateText = new Array("Uninitialized.","Loading...","Loaded.","Interactive...","Complete.");
var href = 'http://host.domen.ru/ajax.php';
function OpenRequest(url) {
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
request.open("POST", url, true);
request.onreadystatechange = processRequestChange;
request.send(null);
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.onreadystatechange = processRequestChange;
request.open("POST", url, true);
request.send();
}
}
} function processRequestChange() {
if (!abortRequest)
abortRequest = window.setTimeout("request.abort();", 10000);
if (request.readyState == 4) {
clearTimeout(abortRequest);
abortRequest = null;
document.getElementById("ajaxContent").innerHTML = document.getElementById("ajaxContent").innerHTML + request.responseText + "<br /><hr /><br />";
}
}
</script>
</head>
<body onClick="OpenRequest(href)">
<div id="ajaxContent"></div>
</body>
</html>[/html]
ajax.php[COLOR=#461b7e]
Код:
<?php
//header("Content-Length: 4");
header('Content-type: text/plain');
echo "ajax";
?>
//header("Content-Length: 4");
header('Content-type: text/plain');
echo "ajax";
?>
[SIZE=2][COLOR=#000099][COLOR=#461b7e]function OpenRequest(url) {
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
request.open("POST", url, true);
request.onreadystatechange = processRequestChange;
[/COLOR][/COLOR][/SIZE][SIZE=2][COLOR=#000099][COLOR=#461b7e]request.send('');[/COLOR][/COLOR][/SIZE] //[SIZE=2][COLOR=#000099][COLOR=#461b7e]request.send(null);
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.onreadystatechange = processRequestChange;
request.open("POST", url, true);
request.send();
}
}
}[/COLOR][/COLOR][/SIZE]