node.js - 无法在node js中使用app.delete删除数据

标签 node.js rest api express

我试图从 users.json 文件中删除用户,该文件与调用 API 的 app.js 位于同一目录中,但每次运行代码时,它都会在浏览器中显示错误:“无法获取/删除”。 我寻找解决方案但没有找到任何解决方案。任何帮助将不胜感激。

这里是users.json 文件。 { “用户1”:{ “名称”:“马赫什”, “密码”:“密码1”, “职业”:“老师”, “id”:1 }, “用户2”:{ “姓名”:“苏雷什”, “密码”:“密码2”, “职业”:“图书管理员”, “ID”:2 }, “用户3”:{ “名称”:“拉梅什”, “密码”:“密码3”, “职业”:“文员”, “id”:3 } }

//app.js file   
var express = require ('express');
var app = express();
var bodyParser = require('body-parser');
var multer = require('multer');
var fs = require("fs");
var PORT = 3000;

var id = 2;
//here is the delete api 
app.delete('/delete',(req,res) => {
fs.readFile(__dirname + "/" + "users.json", 'utf8', (err,data) => {
     data = JSON.parse( data );
   delete data["user" + 2];

   console.log( data );
   res.end( JSON.stringify(data));

});
})

var server = app.listen(PORT,function(){
console.log('server started at port ' + PORT);
});

除此之外,我如何从url动态地给出用户的id。我尝试了 req.params.id,我不确定我是否正在写它。 删除数据["user"+ req.params.id];id 将在 url app.delete('/delete/:id', ...

中提供

最佳答案

使用 app.get 时,您的代码工作正常。

您只需使用 app.get 而不是 app.delete

output I received

更新

http.delete 在浏览器中不起作用,当您从浏览器访问 url 时,它会作为 get 请求。

如果你使用 postman ,它工作正常,

Http.delete demo

检查示例代码。

app.delete('/delete/:id', function(req, res) {
 var id = req.params.id ;
fs.readFile("./users.json", 'utf8', (err,data) => {
     data = JSON.parse( data );

delete data["user" + id];

console.log( JSON.stringify(data) );
res.status(200);

return res.send("Removed");
});
})

关于node.js - 无法在node js中使用app.delete删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52089696/

相关文章:

javascript - 如何在Node.js中输出特定对象但不输出那些不存在的对象?

javascript - Sails.js 中的多个关联

javascript - 使用 angular js 和 $http 请求登录不起作用

mysql - 类型错误 : Converting circular structure to JSON when getting data from mysql DB

node.js - 在express中使用vhost时出错

terminology - 什么是 REST 资源?

java - Spring MVC : parse repeated request param

api - Shopify API 购物车 - 将 line_item line_price 更改为价格覆盖

angularjs - Angular 嵌套 Promise 显示错误

ios - 使用适用于 ios 的 google drive api 检索 "Google doc"创建的文件大小