【问题标题】:Using fetch data to post to API使用获取数据发布到 API
【发布时间】:2019-12-06 19:03:32
【问题描述】:

我已经获取了数据,我正在尝试重新使用这些数据来推送到数据库,然后触发存储过程

我尝试在新函数上重用变量并获得未定义,如果使用现有的 axios get,我什至不知道从哪里开始。

    getEFID = (e) => {
        e.preventDefault();
        const EFID = e.target.elements.EFID.value;
        console.log(EFID);
        axios.get(`/api/vWEFID/${EFID}`)
            .then((res) => {
                console.log(res);
                const DAEFForm = res.data;
                this.setState({
                    DAEFForm: res.data
                })
                console.log("Getting transport Information...", DAEFForm)
            });
    }

    TransportEF = (e) => {
        //const tEF = 
        this.setState({ show: false });
        e.preventDefault();
        const TransportEF = e.target.elements.getEFID.DAEFForm.data;
        /*axios.get(`/api/tEFID/`)
            .then((res) => {
                console.log(res);
                const TransportEF = res.data;
                this.setState({
                    TransportEF: res.data
                })*/
        alert('Transporting EF!')
        console.log(TransportEF);
           // })
    }

如果我可以从 getEFID 中获取数据到 TransportEF,或者以某种方式使用现有的 getEFID 来控制台记录数据,那么我可以取消注释已设置为将数据发布到数据库的 API。

【问题讨论】:

    标签: node.js reactjs axios fetch


    【解决方案1】:

    如果我正确理解了这个问题,您希望使用来自getEFID 函数中 API 调用的响应数据作为TransportEF 函数内 API 调用中的负载。

    由于您标记了 React,我可以看到 setState 被调用,并且假设 this 在这两种情况下都正确绑定,所以您真正需要在 TransportEF 中引用该数据是 this.state.DAEFForm

    见:https://reactjs.org/docs/state-and-lifecycle.html

    【讨论】:

    • 感谢@krukid,我已经设置了这样的状态,但没有绑定 setState ``` state = { DAEFForm: [] } ``` 当我使用 this.DAEFForm = this.DAEFForm 绑定它时.bind(这个);它会引发错误无法读取未定义的属性“绑定”,因此请尝试解决此问题。
    • 我添加了 this.state.DAEFForm;而不是 e.target.elements.getEFID.DAEFForm.data;看起来它现在正在工作,感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2013-09-09
    • 1970-01-01
    相关资源
    最近更新 更多