Я работаю над потребителем для самодельного API и испытываю серьезные трудности с настройкой Авторизационного заголовка .Я использую JQuery для запросов Ajax, но 'beforeSend' вообще не работает (для проверки запросов используется fiddler )
Это мой код beforeSend:
$.ajax({
type: "GET",
url: url+"/Projects",
contentType: "application/json; charset=utf-8",
beforeSend: function (req) {
req.setRequestHeader("Authorization", AuthBuilder(username, password));
},
success: function (result) {
alert("success");
},
error: function (xhr, ajaxOptions, thrownError) {
alert("fail");
}
});
Ну, если это не поможет, что ты делаешь?Вернитесь к старому способу отправки ajax-запросов ... ну, это тоже не работает ...
Это мой обычный код:
function GET(address, callback, error) {
Request = getXMLHttpObject();
Request.open("GET", url + address, true);
var base64 = Base64.encode(username + ":" + password);
alert(base64);
Request.setRequestHeader("Authorization", "Basic " + base64);
Request.send();
Request.onreadystatechange = function () {
//alert(Request.readyState+" code "+Request.status);
if (Request.readyState == 4 && Request.status == 200) {
callback(jQuery.parseJSON(Request.responseText));
} else if (Request.readyState == 4 && Request.status >= 400) {
error(Request.status, Request.statusText);
}
}
}
Не обращайте внимания на фактчто я не спрашиваю json специально, потому что сервис возвращает json по по умолчанию .
В дополнительной информации:
- происхождение не имеет значения, сервисразрешает все источники (было проверено и подтверждено)
- Авторизация работает при установке заголовками (проверено в других клиентах)
- Заголовки авторизации просто не отправляются
- AuthBuilder(имя пользователя, пароль)) дает правильный формат содержимого заголовка Basic Auth
- , getXMLHttpObject () - это всего лишь некоторый код копирования и вставки, который работал до
любые мысли?