无法在 POST Ajax 请求中发送授权令牌 - 出现错误 - Access-Control-Allow-Headers 不允许请求标头字段 authToken
Posted
技术标签:
【中文标题】无法在 POST Ajax 请求中发送授权令牌 - 出现错误 - Access-Control-Allow-Headers 不允许请求标头字段 authToken【英文标题】:Cannot send Authorization Token in POST Ajax request - getting error - Request header field authToken is not allowed by Access-Control-Allow-Headers 【发布时间】:2015-12-03 03:03:45 【问题描述】:我尝试在 Web 浏览器中运行此代码以访问 taleo API。我已经通过登录获得了 authToken。我现在需要使用它来进行后续调用。但是我收到此错误:Access-Control-Allow-Headers 不允许请求标头字段 authToken。有人可以告诉我实际执行此操作的最佳方法吗?
xhr = $.ajax(
type: "POST",
url: logout,
dataType: 'json',
async: false ,
crossDomain : true,
headers: 'authToken': Token ,
success: function (data)
console.log(data);
console.log(data.status.success)
);
【问题讨论】:
如果您可以成功登录,那么那个 ajax 调用和这个调用是有区别的。他们有什么不同? 【参考方案1】:您似乎遇到了跨域问题。 请参阅以下问题以获得更好的解释:
Cross domain AJAX call
试试这个,你也可以在客户端调用时设置跨浏览器属性。
$.ajax(
type: "POST",
url: "test/test/test",
dataType: "text/xml",
data: "",
processData: false, // default to true will parse data as an Array whereas we send XML
contentType: "text/xml",
async: false,
beforeSend: function (request)
request.setRequestHeader("Access-Control-Allow-Origin", "*");
request.setRequestHeader("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS");
request.setRequestHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With");
,
【讨论】:
谢谢!是否有可能在不改变任何服务器端的情况下做到这一点? 谢谢!我尝试了这些,现在错误给了我:Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Origin。如何解决这个问题?以上是关于无法在 POST Ajax 请求中发送授权令牌 - 出现错误 - Access-Control-Allow-Headers 不允许请求标头字段 authToken的主要内容,如果未能解决你的问题,请参考以下文章
在 react-native 中发送请求标头/授权 axios.post