Я пытаюсь отправить POST-запрос с проверкой подлинности (обычная проверка подлинности) с использованием XMLHttpRequest. Он работает в Chrome и IE, но Firefox систематически возвращает ошибку 401, запрашивая учетные данные для входа. Когда я ввожу их, запрос работает нормально. Кроме того, я также делаю GET-запросы, используя ту же аутентификацию, и они работают во всех браузерах (включая Firefox).
Я использую JQuery 1.7, но я также пытался без него с теми же результатами.
Вот код, который я использую:
$.ajax({
url: [relative path],
type: "POST",
username: user_id,
password: token,
data : dataText,
success: function(data){
if(data == null) alert('Error: could not send message');
else
handleUpdate(data);
}
});
или без JQuery:
var xhr = new XMLHttpRequest();
xhr.open("POST", [relative path], false, user_id, token);
xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
console.log(xhr.responseText);
}
}
xhr.send(dataText);
В обоих случаях Firebug показывает запросы в следующей форме:
http://user:password@absolute_url (абсолютный URL, принадлежащий тому же домену, что и веб-сайт)
Есть идеи, что я могу делать неправильно?
Спасибо!