繁体   English   中英

reactjs axios 无法获取 api 数据

[英]reactjs axios cant get api data

我无法从https://randomuser.me/api/获取我的 api 数据

但是,当我使用另一个 api 时,例如http://dummy.restapiexample.com/api/v1/employees它可以工作。

错误:

在此处输入图像描述

import React from "react";
import "./App.css";
import Start from "./start";

function App() {
  return (
    <div className="App">
      <Start />
    </div>
  );
}

export default App;

开始.js

import React, { Component } from "react";
import Axios from "axios";

class Start extends Component {
  constructor(props) {
    super(props);

    this.state = {
      results: []
    };
  }

  componentDidMount() {
    Axios.get("https://randomuser.me/api/").then(res => {
      const results = res.data;
      this.setState({ results });
      console.log(results);
    });
  }

  render() {
    return (
      <div>
        {this.state.results.map(result => {
          return <div>{result.id}</div>;
        })}
      </div>
    );
  }
}
export default Start;

问题是http://dummy.restapiexample.com/api/v1/employees返回数组,而https://randomuser.me/api/返回 object。 尝试更改为

componentDidMount() {
    Axios.get("https://randomuser.me/api/").then(res => {
      const results = res.data.results;
      this.setState({ results });
      console.log(results);
    });
  }

你必须使用 res.data.results。 结果是 object。

请检查您的 JSON 数据最后一行您错过了http://dummy.restapiexample.com/api/v1/employees中的“}]”拼写错误

componentDidMount() {
    Axios.get("http://dummy.restapiexample.com/api/v1/employees").then(res => {
      const results = res.data;
      this.setState({ results: results });
    });
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM