React 学习笔记 —— 使用 axios 发起 ajax 请求

本文介绍了如何通过命令行安装axios,并展示了一个使用Express创建的本地服务器,提供了一个简单的/students接口。同时,讲解了在package.json中配置代理以解决跨域问题,演示了在React应用中使用axios从本地服务器获取数据并渲染到页面上的过程。
摘要由CSDN通过智能技术生成

安装 axios

  • 命令行运行:
yarn add axios

使用案例

  • 准备测试用的后端接口
const express = require('express')
const app = express()

app.use((request,response,next)=>{
	console.log('有人请求服务器1了');
	console.log('请求来自于',request.get('Host'));
	console.log('请求的地址',request.url);
	next()
})

app.get('/students',(request,response)=>{
	const students = [
		{id:'001',name:'tom',age:18},
		{id:'002',name:'jerry',age:19},
		{id:'003',name:'tony',age:120},
	]
	response.send(students)
})

app.listen(5000,(err)=>{
	if(!err) console.log('服务器1启动成功了,请求学生信息地址为:http://localhost:5000/students');
})

  • 在 package.json 中配置代理

    在这里插入图片描述
    该配置意为,将请求转发到 本地的5000端口,用于跨域,但有一点特别,并不是所有的请求都会被转发到 本地的5000端口,而是在当前请求的位置找不到资源时,才会进行转发

  • 使用 axios

import React, { Component } from 'react'
import axios from 'axios'	// 引入
export default class App extends Component {
  constructor () {
    super()
    this.state = {
      students: []
    }

  }
  componentDidMount () {
  	// 发出请求
  	// 因为 在 3000 端口 找不到 students 接口,因此会被转发到 5000 端口
    axios.get('http://localhost:3000/students').then(res=>{
      this.setState({
        students: res.data
      })
    })
  }
  render() {
    return (
      <ul>
        {
          this.state.students.map(d => (
            <li key={d.id}>name: {d.name}, age: {d.age}</li>
          ))
        }
      </ul>
    )
  }
}
  • 页面显示
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tanleiDD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值