gpt4 book ai didi

javascript - 发送到 Node/express 服务器的数组的访问值

转载 作者:太空宇宙 更新时间:2023-11-04 00:43:34 25 4
gpt4 key购买 nike

首先我要说的是我是一个完全的新手/黑客。答案可能很简单......我提前道歉。

我通过 jquery $.ajax (POST) 将对象发送到运行 Express 的 Node.js 服务器。在进行 Ajax 调用之前,该对象在我的服务器上看起来像这样:

var data = {
"to" : "someone@abc.com",
"attachment" : [{"file": "somefile.jpg"}, {"file": "someOtherFile.jpg"}]
}

这是对我的服务器的调用:

$.ajax({
type: "POST",
url: "http://myHostHere.com",
data: data,
success: function(data){
console.log("Success... Returned Data: " + data);
}
});

在我的 Node 服务器上,这是接受请求的路由:

app.post('/send/', urlEncodeParser, function(req, res){
console.log("Req Body: " + JSON.stringify(req.body));
});

urlEncodeParser中间件引用了这段代码:

let urlEncodeParser = bodyParser.urlencoded({ extended:false });     

我的接收 Node 服务器接收到该对象,我可以轻松地通过 req.body.to 获取“to”的值。没有问题...出于某种原因,我无法弄清楚如何访问"file"值。当我 console.log req.body在我的 Node 服务器上,我现在看到我的对象看起来不同了。

具体我调用console.log(JSON.stringify(req.body))

控制台的输出如下所示:

"to" : "some@abc.com",
"attachment[0][file]" : "somefile.jpg",
"attachment[1][file]" : "someOtherFile.jpg"

我不知道如何访问 attachment[0][file] 的值在我的代码中。我已经尝试过req.body.attachment[0].filereq.body.attachment[0][file]req.body.attachment[0]['file']每次我收到错误 TypeError: Cannot read property '0' of undefined

我也尝试只是 console.log("attachment: " + req.body.attachment)我得到 attachment: undefined

非常感谢任何帮助!

最佳答案

您可以使用括号表示法访问该值:

req.body['attachment[0][file]']

更重要的是,您会发现为什么您的请求有效负载看起来像这样...不幸的是,您没有提供任何发送请求的信息...

关于javascript - 发送到 Node/express 服务器的数组的访问值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757203/

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