Javascript 如何在nodejs的URL中通过ajax接收客户端发送的变量中的值?

Javascript 如何在nodejs的URL中通过ajax接收客户端发送的变量中的值?,javascript,node.js,ajax,Javascript,Node.js,Ajax,我有一个URL,我想用ajax将其发送到服务器,以便根据id删除产品。如何使用NodeJS接收,就像我在PHP api中那样,因此: $sProductId = $_GET['id']; 这是来自ajax调用的URL: var sUrl = "/delete-product" + sProductId; 这是我的server.js app.post('/delete-product' ???, upload.none(), (req, res) => { global.

我有一个
URL
,我想用
ajax
将其
发送到
服务器
,以便
根据
id
删除
产品。如何使用
NodeJS
接收
,就像我在
PHP api中那样,因此:

$sProductId = $_GET['id'];
这是来自ajax调用的URL:

var sUrl = "/delete-product" + sProductId;
这是我的server.js

app.post('/delete-product' ???, upload.none(), (req, res) => {
        global.sUpdateProductImagePath = req.file.path.split("public/")[req.file.path.split("public").length - 1]
        user.deleteProduct(req.body, (err, jResult) => {
            if (err) {
                console.log(jResult)
                return res.send(jResult)
            }
            console.log(jResult)
            return res.send(jResult)

        })
    })
和my user.js:

user.deleteProduct = (jProductData, fCallback) => {
    global.db.collection('products').deleteOne({ "_id": "" }, (err, jResult) => {
        if (err) {
            var jError = { "status": "error", "message": "ERROR -> deleteProduct -> user.js -> 001" }
            return fCallback(false, jError)
        }
        var jOk = { "status": "ok", "message": "user.js -> product deleted -> 000" }
        console.log(jResult)
        return fCallback(false, jOk)
    })
}

如果希望在路径参数中使用id,可以这样做

app.post('/delete-product/:id', upload.none(), (req, res) => {var id= req.params.id; // this id is from path params
您还可以在搜索查询中发送id,如/delete product?id=yourid

 app.post('/delete-product', upload.none(), (req, res) => {var id= req.query.id;

传递参数以将其从客户端发送到服务器的方式是get方法。id是url的一部分

因此,在服务器中,您应该更改get的post并添加/:idproduct以接收它

此外,您应该更改为req.params,而不是req.body.:

例如:

app.get('/delete product/:idproduct',(请求、回复)=>{


如果我像这样使用路径参数,我在客户机上的URL会是什么样子?
“/delete product”+sProductId
或者?我使用了查询方式,它工作了。谢谢。我只是好奇。对于路径参数,它会像“/delete product/+sProductId”例如:/delete product/12663
    //global.sUpdateProductImagePath = req.file.path.split("public/")[req.file.path.split("public").length - 1]
    //req.body = req.params.idproduct
    user.deleteProduct(req.params.idproduct, (err, jResult) => {
        if (err) {
            console.log(jResult)
            return res.send(jResult)
        }
        console.log(jResult)
        return res.send(jResult)

    })
})