【问题标题】:Angular 7 http (post) with authorization headers -> Error 500带有授权标头的 Angular 7 http(发布)-> 错误 500
【发布时间】:2019-03-11 11:51:27
【问题描述】:

我在 Angular 7 应用程序中实现授权时遇到问题。我通过 HttpClient.post 将数据发送到 API (PHP),并且不添加标题一切正常。如果我添加任何标题 f.e.

headers = headers.set('authorization', 'Bearer ' + this.user.token);

请求是通过 OPTIONS 而不是 POST 发送的,并且服务器以 500 错误响应。我已经成功地使用 jQuery.ajax 进行了测试。有一个用于添加标头的发送前处理程序。

我也尝试对请求使用拦截器,但问题是一样的。有谁有想法,我可以尝试解决这个问题吗?

【问题讨论】:

  • 它会抛出与 CORS 相关的任何错误吗?您的 Web API 是否启用了 CORS 以接受标头?
  • 是的,控制台显示 2 个 CORS 问题:(1) Access-Control-Allow-Origin 缺失和 (2) CORS 请求未成功但是 Web API (PHP) 有 header("Access-Control-Allow-Origin: *"); 我想知道如果我在 Angular 中添加标头,为什么发送方法会从 POST 更改为 OPTIONS。

标签: angular api post authorization


【解决方案1】:

它必须使用 CORS 设置。在 Web 服务中添加以下设置,其中“*”包括 OPTIONS、GET、POST 和其他 HTTP 动词。

访问控制允许标题:*

访问控制允许方法:*

【讨论】:

    猜你喜欢
    • 2019-03-20
    • 2018-07-22
    • 1970-01-01
    • 2021-12-15
    • 2020-01-05
    • 2017-08-07
    • 2019-06-23
    • 2017-11-23
    • 2013-02-24
    相关资源
    最近更新 更多