如何解决此axios GET请求?持续获取404状态代码

时间:2019-04-30 00:52:59

标签: python reactjs axios

尝试将json数据获取到前端,并尝试了许多版本的axios请求,但始终获取404状态代码。

这是前端格式的示例:

class App extends Component {
  constructor () {
    super();
    this.state = {
      message: ''
    };

    this.handleClick = this.handleClick.bind(this);
  }

  handleClick () {
    axios.get('./hello')
      .then(response => {
        this.setState({ message: response.data.text });
      })
      .catch(error => {
        console.log(error);
      });
  }

  render () {
    return (
      <div className="button-container">
        <button className='button' onClick={this.handleClick}>Click Me</button>
        <p>{this.state.message}</p>
      </div>
    )
  }
}

和后端路由:

@app.route('/hello')
def hello_world():
   return jsonify(text='hello world')

错误消息显示“无法加载资源:服务器响应状态为404(未找到)”或说http://localhost:5003/hello不存在

1 个答案:

答案 0 :(得分:0)

  1. 首先检查您的服务器,公开您的api的网址和端口
  2. 您需要将完整的url传递给axios构造函数,否则它会将请求发送到托管您的客户端的相同原始地址/ url,例如localhost:3000上的webapp。

因此您的代码将是

const SERVER_URL = 'http:localhost:5000'
axios.get(`${SERVER_URL}/hello`)