首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从GET请求中获取数据

从GET请求中获取数据
EN

Stack Overflow用户
提问于 2019-11-24 17:28:22
回答 1查看 55关注 0票数 1

当我通过web浏览器调用我的API时,我得到了以下结果:

代码语言:javascript
复制
{"statusCode": 200, "body": "\"Cheers from AWS Lambda!\""}

然而,我现在正在努力通过axios展示body。你知道我做错了什么吗?

代码语言:javascript
复制
import axios from "axios";
import React, { Component } from "react";

class App extends Component {
  state = {
    messages: []
  };

  componentDidMount() {
    axios
      .get(
        "https://12345.execute-api.eu-central-1.amazonaws.com/prod/get-data"
      )
      .then(response => {
        const messages = response.data;
        this.setState({ messages });
      });
  }

  render() {
    return (
      <ul>
        {this.messages}
        Test
        {this.state.messages.map(message => (
          <li>{message}</li>
        ))}
      </ul>
    );
  }
}
export default App;
EN

回答 1

Stack Overflow用户

发布于 2019-11-25 13:03:07

以下是几点:

1)将render方法的ul中的this.messages改为this.state.messages,因为this.messages未定义。

2)在使用JSX时,一个好的做法是保持js和html代码尽可能地可区分,因此列表上的映射应该在return语句之外完成。

代码语言:javascript
复制
const listItems = numbers.map((number) =>
    <li>{number}</li>
  );
  return (
    <ul>{listItems}</ul>
  );

3)有关CORS错误以及如何在使用AWS lambda时纠正它的更多信息,请参阅这篇文章,其中包括代码片段:AWS: CORS

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59016287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档