【发布时间】:2019-05-12 23:55:55
【问题描述】:
编辑:邮递员/浏览器从 Amazon API Gateway 端点收到有效的响应正文。其他网络应用程序没有。没有标题的基本 GET。 API 端点不需要身份验证。 JSON 数据。
OP:我在一个新的 VueJS 应用程序中将 Axios 用于 CRUD。 Axios 需要能够查询 API(Amazon API 网关)。目前我有一个非常基本的 Vue 组件,它可以查询数据并在响应时将其打印到控制台。
axios.get('https://myamazonurl.com/api/resource')
.then(response => console.log(response))
.catch(error => console.log(error))
Amazon API 不使用身份验证并且面向公众。我可以将上述 URL 输入到浏览器或 Postman 中,然后我会收到相应的响应。但是,Axios 返回的响应没有正文(标头正确,包括正确的响应长度值),但没有内容。如果我用任何其他 API 替换 URL,响应正文就可以了。此外,使用 jquery/AJAX 或 fetch 也会产生没有响应的正文,但指向不同的 API 会产生数据。
【问题讨论】:
-
您是否在
console.log(response)上获得了未定义或其他问题? -
我必须询问您的示例 URL,因为当我使用 api-gateway 时,它看起来像这样:
ttps://i123abc123.execute-api.[region].amazonaws.com/[ApiStage]/some-route/some-parameter -
@PrinceHernandez - catch 发送一个模棱两可的错误:网络错误如果我使用开发人员工具并浏览网络,我会看到请求/响应。这就是我确认响应标头正确但正文为空的地方。
-
@ippi - 是的,我添加了一个占位符 URL,我的实际 URL 与您的格式匹配
-
@ippi - 请求方法:GET 状态码:200
标签: javascript vue.js axios amazon-gateway