【发布时间】:2020-05-28 04:59:51
【问题描述】:
注意:事实证明,这与颤振无关,而与我将 API 网关设置为 Lambda 代理这一事实有关
我试图从 Flutter Web 应用程序中访问 API 端点,每次它出错并给我以下错误。
获取传感器数据时出错:DioError [DioErrorType.RESPONSE]: XMLHttpRequest 错误。
我知道这里有几个关于 SO(如 this 和 this)讨论这个问题的问题,解决方案似乎是在服务器端启用 CORS 支持。我正在使用 AWS API 网关来构建 API,我按照 these 说明从我的 API 启用 CORS 支持。这是我在 API 网关控制台中的 CORS 设置。
“Access-Control-Allow-headers”中的文字是
'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'
在 API 网关上启用 CORS 似乎没有帮助,当我尝试访问 API 时,我的 Flutter Web 应用程序仍然遇到同样的错误。
有趣的是,如果我从 chrome 中点击 API(即将 API URL 粘贴到浏览器上并按回车键),API 工作得非常好。只有当我尝试从 Flutter Web 应用程序访问 API 时它才会失败。
问题:如何在我的 API 网关中启用 CORS 支持,以便我的 Flutter Web 应用可以使用 API?
【问题讨论】:
-
这解决了在 Flutter chrome 本地开发启动上运行时禁用网络安全的问题:stackoverflow.com/a/66879350/2747020
标签: flutter cors aws-api-gateway flutter-web