При совершении вызова на сервер домена третьей стороны без типа содержимого запроса я получаю ошибку CORS и никакого ответа. Но при совершении вызова с типом контента text/plain (который является истинным типом содержимого ответа), я получаю ответ, но с ошибкой CORS, поэтому я не могу разобрать это на dom. Вопрос в том, почему ответ приходит второй раз, а не в первый раз. Оба по-прежнему являются ошибкой CORS. Как я могу проанализировать ошибку во второй раз, так как я получаю ответ от сервера?Почему CORS дает разные ответы на разные типы контента
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.w3schools.com/xml/ajax_info.txt', true);
xhr.setRequestHeader('content-type', undefined);
xhr.onload = function() {
console.log('Test');
};
xhr.send(null);
var contentXHR = new XMLHttpRequest();
contentXHR.open('GET', 'http://www.w3schools.com/xml/ajax_info.txt', true);
contentXHR.setRequestHeader('content-type', 'text/plain');
contentXHR.onload = function() {
console.log('Test request header');
};
contentXHR.send(null);
</script>
</head>
<body>
Check console and network tab
</body>
</html>
Я согласен с вашей точкой @ jaromanda-x, что вкладка сети много раз. Я это заметил. В основном это предупреждение, о котором я знаю. Но если вы посмотрите на ответ, то первый запрос XHR не получит ответа от сервера, но второй запрос XHR имеет ответ, но не разобран в браузере. Я хочу знать, могу ли я проанализировать ответ, поступающий во второй раз, и если да, то как. ИЛИ если я не могу разобрать ответ, тогда как я могу разобрать предупреждение консоли о ошибке CORS. Мне нужно сделать одно. Я не хочу запускать браузер в небезопасном режиме, и я не хочу создавать приложение chrome/firefox/edge здесь – Gary
Cool. Это определенно было промахом. Могу ли я не анализировать ответ, то как я могу разобрать консольное предупреждение о ошибке CORS с помощью JS? – Gary
Я тоже не ожидал кода статуса. Но его статус 200 в порядке.Вот где мой асинхронный код идет haywire – Gary