NodeJS “Express.js:无法使用MySQL请求从数组中删除值,”

wrrgggsh  于 11个月前  发布在  Node.js
关注(0)|答案(1)|浏览(87)

我正在为我的字体开发API,并使用 Postman 来处理不同的HTTP命令来执行简单的列表,其中我已经创建了一个数组来存储信息,从发布和发送到获取,我想执行删除删除特定的数据!请帮助

const express = require('express');
const app = express();

var arrs =[];

app.use(express.urlencoded({extended:false}))

app.get('/',(req,res)=>{
    res.json({arrs})
})

app.post('/',(req,res)=>{
const  {datas,id} = req.body;
let items = {datas,id}
arrs.push(items)
console.log(arrs)
res.send('value');
})

app.delete('/',express.json(),(req,res)=>{
    const  {id} = req.body;
    arrs=arrs.filter((e)=>e.id !== Number(id))
  res.send(arrs)

})



app.listen(5000,()=>{
    console.log('server is listening');
})

字符串
我尝试使用JSON发送ID,以便在过滤器中使用条件来删除ID与我的JSON ID匹配的数组,但我失败了。

qnakjoqk

qnakjoqk1#

我尝试了一下,代码似乎可以工作。我唯一需要改变的是在顶部添加app.use(express.json())

const express = require('express');
const app = express();

var arrs = [];

app.use(express.urlencoded({extended:false}));
app.use(express.json());

app.get('/',(req,res)=>{
  res.json({arrs})
});

app.post('/',(req,res)=>{
    const  {datas,id} = req.body;
    let items = {datas, id};

    arrs.push(items);
    console.log(arrs);
    res.send('value');
});

app.delete('/',express.json(),(req,res)=>{
  const {id} = req.body;
  arrs=arrs.filter((e)=>e.id !== Number(id));
  res.send(arrs);
})

app.listen(5000,() => {
    console.log('server is listening');
});

字符串
然后我发送一个POST请求到服务器, Postman 带有body:

{
    "datas": {"test": "test"},
    "id": 1
}


在控制台中,它用我的数据记录了数组。然后我用postman发送一个带body的请求:

{ "id": 1 }


它从数组中删除了该项。

相关问题