【问题标题】:CORS issue with AngularJs and LaravelAngularJs 和 Laravel 的 CORS 问题
【发布时间】:2017-06-14 20:22:29
【问题描述】:

我使用 AngularJS 作为前端,使用 Laravel 作为后端来处理 API 请求。

另外,Laravel 构成了网站的管理面板。

为了克服 CORS 相关的挑战,我在 Laravel 的 routes.php 中添加了以下代码:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Origin, Content-Type');
header('Access-Control-Allow-Methods', 'GET,POST, OPTIONS');
header('Access-Control-Allow-Credentials', 'true');
header('Access-Control-Allow-Headers', 'accept, content-type, x-xsrf-token, x-csrf-token');

但是当我们加载管理面板时,它会显示内部服务器错误(GoDaddy 服务器)。

如果我们删除它,管理面板可以正常工作,但 AngularJS 部分会遇到问题。

API 请求被服务器阻止。

我做错了什么,我该如何解决这个问题?

【问题讨论】:

  • 您确定这些是请求中唯一的标头吗?
  • 如果没有您的 header() 编辑,管理面板是否会正常加载?
  • 我非常怀疑您是否打算直接致电header。看看en.vedovelli.com.br/2015/web-development/…
  • 是的,我确定。下一行用于处理 get 和 post 请求。 Route::get('/', function () { return view('pages.login'); });路由::get('user1', 'User@userlist')->name('user1');
  • 是的管理面板加载没有这个标题没有错误。

标签: angularjs laravel cors


【解决方案1】:

您可以在 Laravel 之外执行此操作,并使用 mod_headers 设置标题:

http://httpd.apache.org/docs/current/mod/mod_headers.html#examples

【讨论】:

    猜你喜欢
    • 2014-02-28
    • 2017-02-13
    • 2017-05-07
    • 2013-11-20
    • 2015-04-12
    • 2013-07-19
    • 2018-05-19
    • 2015-04-17
    • 2016-08-24
    相关资源
    最近更新 更多