Во-первых, сервер (не мой) возвращает следующие заголовки:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Я пытаюсь выяснить, как передать запрос на сайт с токеном аутентификации. Я запускаю код на локальном сервере Apache.
Это мой код:
function get_data(){
var url = '$URL';
var x = new XMLHttpRequest();
x.open("GET", url, true)
if (x.readyState == 4 && x.status == 200) {
var responseText = x.responseText;
console.log(responseText)
};
x.setRequestHeader("Authentication", "Bearer $TOKEN");
x.withCredentials = true
x.send()
}
Консоль возвращает:
XMLHttpRequest не может загрузить $URL. Ответ на предварительный запрос не проходит проверку управления доступом: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Таким образом, доступ к источнику 'http://localhost' запрещен. В ответе был код состояния HTTP 403.
Читая документацию, я увидел, что вручную устанавливать заголовки нельзя. Когда я удалил x.setRequestHeader("Authentication", "Bearer $TOKEN");
, я получил ответ от сервера (очевидно, ошибка аутентификации). Итак, как мне добавить эту информацию в мой запрос?
Заголовки, возвращаемые сервером:
Request URL:$serverurl
Request Method:OPTIONS
Status Code:403 Forbidden
Remote Address:$ipaddress
Response Headers
view source
Cache-Control:no-cache
Connection:close
Content-Type:text/html
Request Headers
view source
Accept:"*/*"
Accept-Encoding:gzip, deflate, sdch
Accept-Language:nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:authentication
Access-Control-Request-Method:GET
Connection:keep-alive
Host:$host
Origin:http://localhost
Referer:http://localhost/mv.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
$TOKEN
- - person Jaromanda X   schedule 27.01.2016