【问题标题】:SLIM php Angularjs CORSSLIM php Angularjs CORS
【发布时间】:2018-02-13 07:00:04
【问题描述】:

我使用 SLIM 框架作为后端,使用 Angularjs 作为前端。正常的 GET 和 POST API 工作正常。每当我在 GET 或 POST 方法中传递标头时,它都会引发 404 错误。我使用 .htaccess 文件进行 CORS。

    RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /

Header add Access-Control-Allow-Origin: "*"
Header add Access-Control-Allow-Headers: "origin, x-requested-with, content-type, authorization"
Header add Access-Control-Allow-Methods: "PUT, GET, POST, DELETE, OPTIONS"

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

请帮我解决这个问题。

【问题讨论】:

  • 检查服务器的错误日志。哪些请求会生成 404 响应?
  • 很可能,您的服务器没有正确响应飞行前OPTIONS 请求。让我看看能不能找到一个包罗万象的解决方案
  • 好的。我已经尝试了一个多星期。看不懂

标签: angularjs .htaccess cors slim


【解决方案1】:

如果您使用 Chrome,您可以在开发者工具中打开网络标签来查看失败的请求。如果它与 CORS 相关,那么它会告诉您失败的原因。

404 错误通常意味着找不到端点,因此请仔细检查 Angular 代码是否正在请求您认为应该是的 URL。

【讨论】:

  • 404 可能是因为没有正确响应飞行前OPTIONS 请求。应该配置 Slim 框架来处理它们
  • Slim 会自动为您处理 OPTIONS。
猜你喜欢
  • 2017-12-12
  • 2017-07-23
  • 2015-08-13
  • 1970-01-01
  • 2015-10-15
  • 2015-02-23
  • 2014-04-16
  • 2019-02-04
  • 1970-01-01
相关资源
最近更新 更多