繁体   English   中英

在 axios.post - firebase 中发送多个对象

[英]Sending multiple objects in axios.post - firebase

我正在尝试使用 axios.post 发送多个对象,如下所示:

  export const onOrderSent = (deliveryData,orderData,fullPrice) => {
    return dispatch => {
        let data = {deliveryData,orderData,fullPrice};
        dispatch(sendOrderStart());
        axios.post('/orders.json', data)
            .then(response => {
                ...
            })
            .catch(error => {
                ...
            });
    }
}

但它似乎只有在其中一个是空的时才有效,而不是同时两个。 如果它们都有一些值,则不会发送调度。 顺便说一句,fullPrice 是直接值,而不是 object。 为什么会这样,我应该如何正确发送带有多个对象的 axios.posts?

尝试在一个数组中发送多个对象。

const data = {objects: [deliveryData, orderData, fullPrice]};

使其成为这样的对象列表,我假设您的 api 将接受 object 的列表,但不接受 object 的对象列表。

        let data = {[deliveryData,orderData,fullPrice]};

如果这不起作用,请查看后端并查看他们接受的数据类型。 我很确定您应该发送一组对象,如果没有,请查看后端。

终于修好了。 那是最愚蠢的事情,我曾经遇到过,并且从没想过这是问题所在......
只需添加 event.preventDefault(); 给你的处理程序。 真的,像魅力一样工作

 orderSendHandler = (event) => {
        event.preventDefault();
        ...
        ///im mapping local state to object here, and then
        const data = {
            deliveryData: formData,
            order: this.props.orderedItems,
            price: this.props.fullPrice
        };
        this.props.onOrderSent(data);
    }

在我的操作文件中,我操作连接到数据库的所有内容

export const onOrderSent = (data) => {
    return dispatch => {
        dispatch(sendOrderStart());
        console.log(data);
        axios.post('/orders.json', data)
            .then(response => {
                console.log(response);
                dispatch(sendOrderSuccess());
            })
            .catch(error => {
                console.log(error);
                dispatch(sendOrderFail(error));
            });
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM