zoukankan      html  css  js  c++  java
  • react——获取数据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()------------------fetch在ios10.x.x可能会存在问题

    (大概是10.2.x??记不清了,衰~是在做微信公众号开发时候遇到的问题~不排除是x5内核所致啊,总之当初把fetch换成axios就好了)。

     

    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')
    );
  • 相关阅读:
    Android NDK 开发中 adb logcat 命令的使用
    android 工程里缺少 R.java 文件原因和解决方法
    用Linux命令行实现删除和复制指定类型的文件
    重载操作符与转换
    复制控制
    管理类的指针成员
    复制构造函数
    static类成员(变量和函数)
    lock failed, MQ already started 问题处理
    Mac无法启动RocketMQ,日志显示,runserver.sh: line 91: /Library/Internet: No such file or directory
  • 原文地址:https://www.cnblogs.com/LLLLily/p/7492118.html
Copyright © 2011-2022 走看看