Мы используем Windows IIS 6 и используем его собственную возможность защиты файлов с помощью аутентификации Windows в качестве метода входа в систему.
Работает нормально, за исключением того, что когда я пытаюсь опубликовать метод XMLHttpRequest из IE, я снова получаю диалоговое окно входа в систему, что приводит к сбою запроса.
Странно то, что Mozilla и Safari работают хорошо.
Могу ли я что-то сделать с заголовками или сделать так, чтобы IIS распознал это как тот же сеанс, а не предлагал повторный вход в систему?
function ajaxQuery(method, url, params, asynchronous, readyFunction, is_done) {
if (asynchronous == null) {
asynchronous = true;
}
//alert("URL: "+url);
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
readyFunction(xmlhttp.responseText);
if (is_done) {
is_done("ok");
}
}
}
if (method.toLowerCase() == "get") {
url += "?" + params;
params = null;
}
debug = url;
xmlhttp.open(method, url, asynchronous);
if (method.toLowerCase() == "post") {
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
debug = params.length;
}
xmlhttp.send(params);
}