【发布时间】:2018-07-26 21:06:16
【问题描述】:
我正在 AWS Lambda 上编写一个 graphql 服务器组件(不使用 graphql-server)。在客户端,我使用的是 apollo-client。关于我正在设置的 lambda 函数的响应
const response = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*" // Required for CORS support to work
},
body: JSON.stringify({
result: 'mock data',
input: event,
}),
};
callback(null, response);
在客户端使用 ApolloClient 我收到以下错误
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'http://localhost:8080'。
但是,当我使用 axios 之类的东西执行相同的请求时,它可以正常工作。此外,当我通过邮递员之类的方式执行请求时,我看到响应中启用了“Access-Control-Allow-Origin”设置。这是 apollo-client 的已知问题吗?我该如何解决?
【问题讨论】:
-
不,这很可能是您不知道 preflight 请求是什么的问题...对于什么 HTTP 方法确实指定了您显示的响应?
标签: lambda cors apollo-client