Ha ottenuto questo messaggio di errore: Refused to set unsafe header "Origin"
rifiutato di fissare un colpo di testa pericoloso "Origine" quando si usa xmlHttpRequest di Google Chrome
utilizzando questo codice:
function getResponse() {
document.getElementById("_receivedMsgLabel").innerHTML += "getResponse() called.<br/>";
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
receiveReq.open("GET", "http://L45723:1802", true, "server", "server123"); //must use L45723:1802 at work.
receiveReq.onreadystatechange = handleReceiveMessage;
receiveReq.setRequestHeader("Origin", "http://localhost/");
receiveReq.setRequestHeader("Access-Control-Request-Origin", "http://localhost");
receiveReq.timeout = 0;
var currentDate = new Date();
var sendMessage = JSON.stringify({
SendTimestamp: currentDate,
Message: "Message 1",
Browser: navigator.appName
});
receiveReq.send(sendMessage);
}
}
Che cosa sto facendo di sbagliato? Cosa mi manca nell'intestazione per far funzionare questa richiesta CORS?
Ho provato a rimuovere la chiamata receiveReq.setRequestHeader("Origin", ...)
ma poi Google Chrome getta un errore di accesso sul mio receiveReq.open()
chiamata ...
Perché?
Sì: basta eliminare il codice che imposta l'intestazione della richiesta "Origin" - funziona perfettamente per me! –