【发布时间】: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');
-
是的管理面板加载没有这个标题没有错误。