react——获取数据的4种方法ajax()$.ajax()fetch()axios

Posted LLLLily

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react——获取数据的4种方法ajax()$.ajax()fetch()axios相关的知识,希望对你有一定的参考价值。

 

 

第一种:ajax()

import React from ‘react‘;
import ReactDom from ‘react-dom‘;
import ajax from ‘./tool.js‘;

class Nav extends React.Component{
    constructor(){
        super();
        this.state = {
            arr: {}
        };
        this.get = this.get.bind(this);
    }
    get(){
        ajax(‘./data/data.json‘,function(res){
            // var json = JSON.parse(res);
            var json = (new Function(‘return‘ + res))();
            console.log(json);
        })
    }
    render(){
        return <div>
            <input type="button" value="按钮" onClick={this.get}/>
        </div>
    }
}


ReactDom.render(
    <Nav></Nav>,
    document.querySelector(‘#app‘)
);

 

 

第二种:$.ajax()

 

import React from ‘react‘;
import ReactDom from ‘react-dom‘;
import $ from ‘jquery‘;

class Nav extends React.Component{
    constructor(){
        super();
        this.state = {
            arr: {}
        };
        this.get = this.get.bind(this);
    }
    get(){
        $.ajax({
            type:‘get‘,
            url:‘data/data.json‘,
            success:function(res){
                console.log(res);
            }
        })
    }
    render(){
        return <div>
            <input type="button" value="按钮" onClick={this.get}/>
        </div>
    }
}


ReactDom.render(
    <Nav></Nav>,
    document.querySelector(‘#app‘)
);

 

 

 

第三种:fetch()

 

import React from ‘react‘;
import ReactDom from ‘react-dom‘;
import $ from ‘jquery‘;

class Nav extends React.Component{
    constructor(){
        super();
        this.state = {
            arr: {}
        };
        this.get = this.get.bind(this);
    }
    get(){
        fetch(‘data/word.txt‘).then((res)=>{
            if(res.ok){
                res.text().then((data)=>{
                    console.log(data);
                })
            }
        }).catch((res)=>{
            console.log(res.status);
        });
    }
    render(){
        return <div>
            <input type="button" value="按钮" onClick={this.get}/>
        </div>
    }
}


ReactDom.render(
    <Nav></Nav>,
    document.querySelector(‘#app‘)
);

 

 

 

第四种:axios

 

import React from ‘react‘;
import ReactDom from ‘react-dom‘;
import axios from ‘axios‘;

class Nav extends React.Component{
    constructor(){
        super();
        this.state = {
            arr: {}
        };
        this.get = this.get.bind(this);
    }
    get(){
        axios.get(‘./data/data.json‘).then((res)=>{
            console.log(res.data);
            console.log(res.data[3]);
        }).catch((err)=>{
            console.log(err.status);
        })
    }
    render(){
        return <div>
            <input type="button" value="按钮" onClick={this.get}/>
        </div>
    }
}


ReactDom.render(
    <Nav></Nav>,
    document.querySelector(‘#app‘)
);

 

以上是关于react——获取数据的4种方法ajax()$.ajax()fetch()axios的主要内容,如果未能解决你的问题,请参考以下文章

使用 React Hooks useEffect 发送 ajax 请求获取数据全攻略

React中的Ajax

React中获取DOM节点的两种方法

react 子组件获取父组件传来的 props 问题

react中向后台服务器发送一请求 后台接口返回的是byte[]类型的图片 我现在如何在前台界面中显示它?

React事件方法React定义方法的几种方式获取数据改变数据执行方法传值