首页 > 解决方案 > 我的 nodejs 代码正在数据库中插入(注册)但在 updateOrder 表中返回错误 500 Internal Server Error

问题描述

从该表 (updateOrder) 运行 Node.js 服务器时出现此错误。

它是一个 android 项目的后端。

它注册订单,但500在 updateOrder 中返回内部服务器错误...任何帮助将不胜感激。

router.post('/updateOrder', function (req, res, next) {
if (req.body.key == API_KEY) {

    var order_id = req.body.orderId
    var order_detail

    try {
        order_detail = JSON.parse(req.body.orderDetail)
    }
    catch (err) {
        res.status(500)
        res.send(JSON.stringify({ success: false, message: err.message }))
    }

    if (order_detail != null && order_id != null) {

        var data_insert = []
        for (i = 0; i < order_detail.length; i++) {
            data_insert[i] = [
                parseInt(order_id),
                order_detail[i]["foodId"],
                order_detail[i]["foodQuantity"],
                order_detail[i]["foodPrice"],
                0, // discount
                order_detail[i]["foodSize"],
                order_detail[i]["foodAddon"],
                parseFloat(order_detail[i]["foodExtraPrice"])
            ]
        }
        req.getConnection(function (error, conn) {
            conn.query('INSERT INTO OrderDetail(OrderId,ItemId,Quantity,Price,Discount,Size,Addon,ExtraPrice) VALUES(?)', data_insert, function (err, rows, fields) {

                if (err) {
                    res.status(500)
                    res.send(JSON.stringify({ success: false, message: err.message }))
                }
                else {
                    res.send(JSON.stringify({ success: true, message: "update success" }))

                }
            })
        })
    }
    else {
        res.send(JSON.stringify({ success: false, message: "Missing orderID body  marfe" }))
    }
}
else {
    res.send(JSON.stringify({ success: false, message: "Wrong api key marfe" }))
}
})  

这是针对 Orderdetails 的,我将在其中获取 Orderhistory 但它也返回空我猜这是因为 updateOrder 表

router.get('/orderDetail', function (req, res, next) {
if (req.query.key == API_KEY) {
    req.getConnection(function (error, conn) {
        var order_id = req.query.orderId
        if (order_id != null) {
            conn.query('SELECT orderId,itemId,quantity,discount,extraPrice,size,addOn FROM OrderDetail WHERE orderId=?', [order_id], function (err, rows, fields) {

                if (err) {
                    res.status(500)
                    res.send(JSON.stringify({ success: false, message: err.message }))
                }
                else {
                    if (rows.length > 0) {
                        res.send(JSON.stringify({ success: true, result: rows }))
                    }
                    else {
                        res.send(JSON.stringify({ success: false, message: "Empty" }))
                    }
                }
            })

        } else {
            res.send(JSON.stringify({ success: false, message: "Missing restaurantId in query" }))
        }

    })
}
else {
    res.send(JSON.stringify({ success: false, message: "Wrong orderFBID key marfe" }))
}
})    

标签: mysqlnode.jsjsoninternal-server-error

解决方案


推荐阅读