JQuery AJAX & упреждающий базовый аутентификации
Я пытаюсь получить доступ к некоторым службам RESTful, работающим под предварительной проверкой подлинности Apache. Я использую jquery Ajax и отправляю имя пользователя и пароль с заголовком "Аутентификация". Тем не менее, мой запрос выдает пустую ошибку при каждом запуске.
Вот полный вызов $.ajax:
$.ajax({
cache:false,
url: urladdress,
type:'GET',
async:false,
headers: { "cache-control": "no-cache" },
dataType: "html", //or xml or json
contentType: "html",
beforeSend : function(req)
{
req.setRequestHeader('Authorization', "Basic " + base64string); //user:password);
},
success: function(data){
successcallback(data);
},
error: function(xhRequest, ErrorText, thrownError){
alert("ERROR: "+ JSON.stringify(xhRequest));
},
complete: function(result){
...
}
});
Что я делаю не так? Есть ли что-то, что я здесь игнорирую? Благодарю.
1 ответ
Решение на стороне сервера, вы должны включить некоторые пользовательские заголовки в ответ на междоменные работы. Эксперимент отправляет следующие заголовки в ответ:
Контроль доступа-Разрешить-происхождение: yourApiDomain
Access-Control-Allow-Methods: *
В случае использования пользовательских заголовков:
Access-Control-Expose-Headers: X-My-Custom-Header, X-Another-Custom-Header
Access-Control-Allow-Headers: X-My-Custom-Header, X-Another-Custom-Header
В случае использования файлов cookie HTTP и информации об аутентификации HTTP:
Access-Control-Allow-Credentials: правда
Для получения дополнительной информации прочитайте документацию в MDN о CORS: