【问题标题】:Request header field x-access-token is not allowed by Access-Control-Allow-HeadersAccess-Control-Allow-Headers 不允许请求标头字段 x-access-token
【发布时间】:2016-09-06 09:26:13
【问题描述】:

我被这个错误困住了。请帮忙..

XMLHttpRequest 无法加载。请求头字段 x-access-token 不是 Access-Control-Allow-Headers 允许。

【问题讨论】:

  • 还有什么不清楚的地方?要么不发送x-access-token 标头,要么更改服务器端代码/配置以允许它。
  • 您应该在后端启用 CORS。查看this的代码
  • 使用邮递员得到正确的响应。但不能在客户端工作
  • @gianlucatursi 如何在客户端启用 CORS
  • @ThripthiHaridas 它只是服务器端。您在网络服务器中运行 angularjs 应用程序?尝试双击打开 index.html

标签: angularjs


【解决方案1】:

您的服务器应该返回它接受自定义标头(如 x-access-token)。例如,如果您将 nodejs 与 expressjs 一起使用,请尝试以下操作:

app.use(function(req, res, next) {
   res.header("Access-Control-Allow-Origin", "*"); // keep this if your api accepts cross-origin requests
   res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, X-Access-Token");
   next();
});

如果你的服务器是 PHP 的,你也需要这样做:

header("Access-Control-Allow-Origin: *"); // keep this if your api accepts cross-origin requests
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, X-Access-Token");

Ps:Access-Control-Allow-Headers 不接受通配符 '*' 作为值。

【讨论】:

    猜你喜欢
    • 2018-12-14
    • 2016-05-15
    • 1970-01-01
    • 2017-03-03
    • 2019-01-20
    • 2020-10-12
    • 2013-07-05
    • 1970-01-01
    • 2016-11-24
    相关资源
    最近更新 更多