我是Javascript,Node.js和JSON的新手。我应该构建某种Todo列表应用程序,用户将其todo发送到服务器。我已经创建了HTML和Javascript来执行没有服务器的基本操作。
我正在使用以下程序/语言来完成我的任务:
目前我正在尝试通过以下代码行发送数据:
//Create (simplified) "task"
item["id"] = task.dataset.id;
item["taskname"] = task.dataset.taskname;
item = JSON.stringify(item);
//Send code
$.ajax({
url: '/addtodo',
type: 'post',
dataType: 'json',
success: function (data) {
console.log(data);
},
data: item
});
在接收方,我尝试使用以下代码行接收数据:
app.post("/addtodo", function (req, res) {
var newTodo = req.body;
fs.writeFile("Somefile.json", JSON.parse(newTodo), function(err) {
if(err) {
res.json({"message":"Storing data failed"});
} else {
res.json({"message":"Data stored successfully"});
}
});
});
我的目标是在“Somefile.json”中获得类似的内容
[{
"id" : 2,
"taskname" : "Example task 2",
},
{
"id" : 2,
"taskname" : "Example task 2",
},
]
现在我得到错误或者将Somefile.json更改为[object Object]。 任何人都在乎解释我做错了什么以及我应该如何解决它
编辑:
如果我不使用JSON.parse,我会得到:[object Object]
如果我使用JSON.stringify,我会得到{"{\"id\":\"6\",\"taskname\":\"1234\"}":""}
答案 0 :(得分:0)
而不是
JSON.parse(newToDo);
使用
JSON.stringify(newToDo);
此函数会将对象转换为字符串,并为您提供所需的输出。