【发布时间】:2018-01-24 14:50:35
【问题描述】:
我目前正在开发一个基于服务的系统,并且在 http 请求方面遇到了一些问题(似乎是 CORS 的问题 - 跨源资源共享)。
我发送请求的 API 是用 PHP 编写的,带有 Slim 框架,我实际上是使用以下代码启用 CROS:
$app->add(function ($req, $res, $next) {
$response = $next($req, $res);
return $response
->withHeader('Access-Control-Allow-Origin', '')
->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')
->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
});
但是当我从前端发送请求时(用 Angular 编写):
this.http.get(this.base_url + "api/users/")
.subscribe(
(data) => {
console.log(data);
},
(error) => {
console.log(error);
});
我收到以下错误:
name:"HttpErrorResponse"
message:"Http failure response for (unknown url): 0 Unknown Error"
这两个项目在 Docker 中运行,如果这增加了信息的话。
有人知道问题出在哪里吗?
提前谢谢你!
【问题讨论】:
-
您的网络标签在您的浏览器中是什么样子的?
-
收到响应:Accept-Ranges bytes Access-Control-Allow-Origin * Connection keep-alive Date Mon, 15 Jan 2018 19:26:42 GMT ETag W/"5fe-uNDg6SbGwTj25EJmji4p+X0nqF0" X -Powered-By Express 如果这就是您的要求。