Axios Get 确实可以识别数据库收集余额,但 Put 或 Post 或 Patch 不能识别

问题描述 投票:0回答:2

所以我有一个全栈React应用程序,这种类型的代码我有数据库上的数据。我可以通过 Axios Get 访问该集合,但无法通过 Put 访问此数据来更新它,它是一个余额信用帐户,每次客户购买管理员接受订单的东西时,该余额都会减少该金额,我会发布一些图片,以便任何人都可以理解我要解释的内容,this is my collection on my db mongo compassthe Axios get works perfectyAxios get Result consol.logAxios put that doesn't workresult of Axios Put

如何解决这个问题?

我期待 Put Request 发挥作用。

axios get put
2个回答
0
投票

除非你的截图不完整,否则函数体中似乎没有定义

_id
。您似乎忘记将
_id
作为参数传递到函数中。


-2
投票

您好,我会将所有代码发送给您。谢谢您的回复。

import React, { useEffect, useState } from "react";
import { Container, Nav, Tab, Col, Row } from "react-bootstrap";
import ClientsAdminPage from "../components/ClientsAdminPage";
import DashboardProducts from "../components/DashboardProducts";
import OrdersAdminPage from "../components/OrdersAdminPage";
import {FcMoneyTransfer} from 'react-icons/fc';
import {useSelector, useDispatch } from "react-redux";
import CreditBalancePage from "../pages/CreditBalancePage";
import { Link } from "react-router-dom";
import axios from "../axios";


function AdminDashboard() {
    const [balance, setBalance] = useState([]);
    const _id = balance._id;

    useEffect(()=>{
        axios.get('http://localhost:8080/balances').then(balance => setBalance(balance.data[0]))
        .catch(error => console.log(error));
    },[]);
    

    function updateBalance() {
     axios.put(`http://localhost:8080/balances/:id`,{param:{id : _id , total : 123}}).then((res) => console.log(res.data[0]["total"])).catch((err)=> console.log(err));
        // let result = async() =>{
        //     let promiseResult = await dataBalance();
        //     console.log(promiseResult);
        // } 
        // console.log("dataBalance",dataBalance);
        // result();
    }
    return (
        <Container>
            <Tab.Container defaultActiveKey="products">
                <Row>
                    <Col sm={3}>
                        <Nav variant="pills" className="flex-column">
                            <Nav.Item>
                                 <Link to="/balance" className="balance" 
                                 ><FcMoneyTransfer/> {console.log(balance)} {balance.total}  DZD</Link>
                                 <button onClick={updateBalance}>btn</button>
                            </Nav.Item>
                            <Nav.Item>
                                <Nav.Link eventKey="products">Produits</Nav.Link>
                            </Nav.Item>
                            <Nav.Item>
                                <Nav.Link eventKey="orders">Commandes</Nav.Link>
                            </Nav.Item>
                            <Nav.Item>
                                <Nav.Link eventKey="clients">Commercants</Nav.Link>
                            </Nav.Item>
                        </Nav>
                    </Col>
                    <Col sm={9}>
                        <Tab.Content>
                            <Tab.Pane eventKey="products">
                                <DashboardProducts />
                            </Tab.Pane>
                            <Tab.Pane eventKey="orders">
                                <OrdersAdminPage />
                            </Tab.Pane>
                            <Tab.Pane eventKey="clients">
                                <ClientsAdminPage />
                            </Tab.Pane>
                        </Tab.Content>
                    </Col>
                </Row>
            </Tab.Container>
        </Container>
    );
}

export default AdminDashboard;

© www.soinside.com 2019 - 2024. All rights reserved.