抖动网站中的XMLHttpRequest错误[启用CORS AWS API网关]

DrkStr

注意:事实证明,这与颤动无关,与我将API网关设置为Lambda代理这一事实有关

每当它出错时,我都试图从颤动的Web应用程序访问API端点,并给我以下错误。

获取传感器数据时出错:DioError [DioErrorType.RESPONSE]:XMLHttpRequest错误。

我知道SO上有几个问题(像thisthis)在讨论这个问题,解决方案似乎是在服务器端启用CORS支持。我使用AWS API网关构建API,我按照以下说明从我的API启用CORS支持。这是来自API网关控制台的CORS设置。

在此处输入图片说明

“访问控制允许标题”中的文本为

“内容类型,X-Amz日期,授权,X-Api密钥,X-Amz-安全令牌”

在API网关上启用CORS似乎无济于事,当我尝试使用API​​时,在Flutter Web应用程序上仍然遇到相同的错误。

有趣的是,如果我从Chrome浏览器访问API(即将API URL粘贴到浏览器上并按Enter),则该API可以正常工作。仅当我尝试从Flutter Web应用程序访问API时,它才会失败。

问题:如何在我的API网关中启用CORS支持,以便我的Flutter Web应用程序可以使用该API?

丹尼尔·埃尔南德斯

这对我有用,我在lambda函数上添加了以下标头

return {
    statusCode: 200,
     headers: {
  "Access-Control-Allow-Origin": "*", // Required for CORS support to work
  "Access-Control-Allow-Credentials": true, // Required for cookies, authorization headers with HTTPS
  "Access-Control-Allow-Headers": "Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token",
  "Access-Control-Allow-Methods": "POST, OPTIONS"
},
    body: JSON.stringify(item)
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章