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)
})
})