Sto provando a effettuare una chiamata API all'API GroupMe per recuperare una risposta JSON ma ho ricevuto il seguente errore:Campo intestazione richiesta X-CSRFToken non consentito da Access-Control-Allow-Headers nella risposta preflight
XMLHttpRequest cannot load ...(call url)...
Request header field X-CSRFToken is not allowed by Access-Control-Allow-Headers in preflight response.
mio JavaScript assomiglia a questo:
var xmlhttp = new XMLHttpRequest();
var url = (call url)
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
xmlhttp.open("GET", url, true);
xmlhttp.setRequestHeader("Access-Control-Allow-Headers", "*");
xmlhttp.setRequestHeader('Access-Control-Allow-Origin', '*');
$.getJSON(url, function(data){
var array = data.response.messages.reverse();
for(i = 0; i<array.length; i++){
$('.messages').append("<div class='message'>"+array[i].name+":<br>"+array[i].text+"</div>");
}
});
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
io non capisco come intestazioni di richiesta funzionano così sto indovinando non sto impostando correttamente le intestazioni. Qualcuno può indicarmi la giusta direzione su come impostare le intestazioni per risolvere questo problema?
non è necessario fare confusione con quelle intestazioni dal client, quelle sono intestazioni di risposta del server. assicurati che il tuo server autorizzi "X-CSRFToken' in ACAH se fa parte della risposta. – dandavis
oh, e noi JSers in realtà non facciamo neanche un preflight, il browser lo fa per noi e lascia che il nostro lavoro "regolare-ass" funzioni se passa ... – dandavis