Demande de champ d'en-tête X-CSRFToken n'est pas autorisé par Access-Control-Allow-les en-Têtes de contrôle en amont de la réponse

Je suis en train de faire un appel API pour la GroupMe API pour récupérer une réponse JSON mais reçois l'erreur suivante:

XMLHttpRequest cannot load ...(call url)... 
Request header field X-CSRFToken is not allowed by Access-Control-Allow-Headers in preflight response.

Mon Javascript ressemble à ceci:

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();

Je ne comprends pas vraiment comment les en-têtes de demande de travail, donc je devine que je suis de ne pas définir les en-têtes correctement. Quelqu'un peut me pointer dans la bonne direction quant à comment je peux définir les en-têtes à résoudre ce problème?

vous n'avez pas besoin de jouer avec ces en-têtes de la part du client, ceux-ci sont serveur en-têtes de réponse. assurez-vous que votre serveur est une liste blanche X-CSRFToken dans ACAH si c'est une partie de la réponse.
oh, et nous avons JSers ne pas réaliser de contrôle en amont, le navigateur n'est que pour nous et permet à notre "régulier-cul" ajax travail si elle passe...

OriginalL'auteur spotatoz | 2015-11-17

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *