Javascript 飞行前响应中的访问控制允许标头不允许请求标头字段X-CSRFToken
我正在尝试对GroupMe API进行API调用以获取JSON响应,但出现以下错误:Javascript 飞行前响应中的访问控制允许标头不允许请求标头字段X-CSRFToken,javascript,xmlhttprequest,csrf,access-control,request-headers,Javascript,Xmlhttprequest,Csrf,Access Control,Request Headers,我正在尝试对GroupMe API进行API调用以获取JSON响应,但出现以下错误: XMLHttpRequest cannot load ...(call url)... Request header field X-CSRFToken is not allowed by Access-Control-Allow-Headers in preflight response. 我的Javascript如下所示: var xmlhttp = new XMLHttpRequest(); var
XMLHttpRequest cannot load ...(call url)...
Request header field X-CSRFToken is not allowed by Access-Control-Allow-Headers in preflight response.
我的Javascript如下所示:
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();
var xmlhttp=new XMLHttpRequest();
var url=(调用url)
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
open(“GET”,url,true);
setRequestHeader(“访问控制允许头”,“*”);
setRequestHeader('Access-Control-Allow-Origin','*');
$.getJSON(url、函数(数据){
var数组=data.response.messages.reverse();
对于(i=0;i如果您正在呼叫第三方服务器,对于飞行前请求,响应标头
应包含访问控制允许标头:X-CSRF-Token
,以消除您遇到的错误。但我们无法控制它。
如果呼叫我们的服务器,您可以在服务器上添加
Access Control Allow Headers:X-CSRF-Token
响应飞行前请求,类型为OPTIONS
,如果发送ajax jQuery请求
,且crossDomain参数设置为true
,则无需从客户端处理这些头,这些是服务器响应头。m确保您的服务器在ACAH中白名单X-CSRFToken
,如果这是响应的一部分。哦,而且我们JSER实际上也不做预飞,浏览器为我们做预飞,让我们的“常规ass”如果ajax通过,它就可以工作…谢谢!添加访问控制允许标题:X-CSRF-Token,内容类型成功了!我应该把它放在axios的哪里?