Por que o CORS dá uma resposta diferente em diferentes tipos de conteúdo
Ao fazer uma chamada para o servidor do domínio de terceiros sem um tipo de conteúdo de solicitação, recebo um erro CORS e nenhuma resposta. Mas, ao fazer uma chamada com um tipo de conteúdo text / plain (que é o verdadeiro tipo de conteúdo da resposta), recebo uma resposta, mas com um erro CORS, não sou capaz de analisar isso no domínio. A questão é por que a resposta vem pela segunda vez e não pela primeira vez. Ambos ainda são um erro do CORS. Como posso analisar o erro pela segunda vez desde que estou recebendo uma resposta do servidor?
<!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>