gpt4 book ai didi

javascript - 如何在 Express 中访问我的 req.body data/json?

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:34 26 4
gpt4 key购买 nike

我是 node.js 的新手,我正在尝试从 post 请求访问我的 node.js 服务器上的 json,这样我就可以将它发送到 API 并将其反馈给我的前端 js 文件。我可以看到 json 对象,但在阅读了一些文档/stackoverflow 帖子后我似乎无法访问它(例如:req.body.name)。

这是我的 server.js 文件和包的发布路径:

    var prettyjson = require('prettyjson');
var express = require('express');
var http = require('http');
var cors = require('cors');
var bodyParser = require('body-parser');
var app = express();


// create application/json parser
app.use(bodyParser.json());
// create application/x-www-form-urlencoded parser
app.use(bodyParser.urlencoded({
extended: true
}));

app.post('/', function(req, res) {

var test = req.body; //If I req.body.name here, it will return undefined
console.log(test);

});

这是我的前端map.js文件post函数和数据:

  var locations = [
{name:'Le Thai', coords:{lat:36.168743, lng:-115.139866}},
{name:'Atomic Liquors', coords:{lat:36.166782, lng:-115.13551}},
{name:'The Griffin', coords:{lat:36.168785, lng:-115.140329}},
{name:'Pizza Rock', coords:{lat:36.17182, lng:-115.142304}},
{name:'Mob Museum', coords:{lat:36.172815,lng:-115.141242}},
{name:'Joe Vicari’s Andiamo Italian Steakhouse', coords:{lat:36.169437, lng:-115.142903}},
{name:'eat', coords:{lat:36.166535, lng:-115.139067}},
{name:'Hugo’s Cellar', coords:{lat:36.169915, lng:-115.143861}},
{name:'Therapy', coords:{lat:36.169041, lng:-115.139829}},
{name:'Vegenation', coords:{lat:36.167401, lng:-115.139453}}

];
//convert array to JSON
var jsonStr = JSON.stringify(locations);

$.post('http://localhost:3000/', jsonStr, function(data){
//empty for now

},'json');

最终目标:我希望能够访问我的数据,如 req.body.name。我尝试在 req.body 上使用 typeof,它返回一个对象,但我似乎无法访问该对象。我尝试使用 JSON.parse,但意识到 req.body 已经是一个对象。我想最终将这些数据提供给 Yelp API。

来自 console.log(req.body) 的当前输出(每个请求):

{ '{"name":"Le Thai","coords":{"lat":36.168743,"lng":-115.139866}},
{"name":"Atomic Liquors","coords":{"lat":36.166782,"lng":-115.13551}},
{"name":"The Griffin","coords":{"lat":36.168785,"lng":-115.140329}},
{"name":"Pizza Rock","coords":{"lat":36.17182,"lng":-115.142304}},
{"name":"Mob Museum","coords":{"lat":36.172815,"lng":-115.141242}},
{"name":"Joe Vicari’s Andiamo Italian Steakhouse","coords":
{"lat":36.169437,"lng":-115.142903}},{"name":"eat","coords":
{"lat":36.166535,"lng":-115.139067}},{"name":"Hugo’s Cellar","coords":
{"lat":36.169915,"lng":-115.143861}},{"name":"Therapy","coords":
{"lat":36.169041,"lng":-115.139829}},{"name":"Vegenation","coords":
{"lat":36.167401,"lng":-115.139453}}': '' }

最佳答案

你正在使用一个数组,所以它不会:

req.body.name

但是例如

req.body[0].name

您可能想要遍历通过 .forEachfor 循环等获得的数组。

关于javascript - 如何在 Express 中访问我的 req.body data/json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43345741/

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