console.log正确地返回req.query(request.query),因为{name:' sean',comments:'嘿' }。但是当我尝试使用fs.appendFile将其写入文件时,它将其写为[object Object]。这是服务器代码:
app.get('/', function (req, res) {
var rq = req.query //Write req.query to a variable
console.log("received: ", rq) //This returns correctly
fs.appendFile('comments.txt', rq, function (req, err) { //This is where object Object is written
if (err) throw err;
console.log("written: ", rq) //This returns correctly
});
res.header('Content-type', 'text/html');
return res.end('<h1>Hello, World!</h1>');
});
有什么想法?感谢。
答案 0 :(得分:1)
您需要将Javascript对象序列化为字符串,然后才能将它们正确地写入文件。一种方法是使用JSON.stringify()
:
fs.appendFile('comments.txt', JSON.stringify(rq), function(err) {
...
});
(fs.appendFile()
的回调只收到一个参数err
,AFAIK)