gpt4 book ai didi

javascript - 无法访问nodejs中的数组值

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:55 24 4
gpt4 key购买 nike

我将一组值发送到我的 Node 服务器以写入日志文件。

我的 $.ajax 帖子在客户端工作。在后端,我将数组打印到控制台,但是当我尝试使用下面的代码将其写入文件时,我在日志文件中得到空白输出。

function log(req,res)
{
var list = req.body;
console.log(list);

for(var i = 0; i < req.body.length; i++)
fs.writeFileSync("./log.dat", JSON.stringify(list[i]) + "\r\n");
}

该数组是 JSON 对象的集合,例如 this在控制台上。

旁注:如果我删除 JSON.stringify 和 [i],我可以写入该文件。

知道我做错了什么吗?

编辑:

我这样做了,但我的日志文件中出现“未定义”。

try {
for(var i = 0; i < 3; i++)
fs.writeFileSync("./log.dat", list[i] + "\r\n");
} catch (err) {
console.log('Error writing Metadata.json:' + err.message)
}

我推断这与循环和数组有关。我无法通过索引引用数组。

我的ajax请求代码:

var items = {logs: foghorn_items};
path = server + "Foghorn/log";
$.ajax({
url: path,
method: 'POST',
dataType: 'JSON',
data: items,
success: function (data){
alert('Logs sent to file');
}
);

更新

由于某种原因,循环不适用于 list.length 和 req.body.length。

最佳答案

function log(req,res)
{
var list = req.body;
console.log(list);

for(var i = 0; i < list.logs.length; i++)
fs.writeFileSync("./log.dat", JSON.stringify(list.logs[i]) + "\r\n");
}

尝试上面的

关于javascript - 无法访问nodejs中的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58025626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com