Node.js 我能';t使用multer检索请求正文数据
我无法使用multer从req.body检索数据。它的反应是 [对象:null原型]{},如果我将其字符串化为JSON I ofc get{} 我的目标是接收输入编号,以便将X数量的产品添加到购物车中,但我似乎无法获取编号Node.js 我能';t使用multer检索请求正文数据,node.js,express,handlebars.js,Node.js,Express,Handlebars.js,我无法使用multer从req.body检索数据。它的反应是 [对象:null原型]{},如果我将其字符串化为JSON I ofc get{} 我的目标是接收输入编号,以便将X数量的产品添加到购物车中,但我似乎无法获取编号 {{# each products }} <div class="row"> {{# each this }} <div class="col-sm-6 col-md-4"> &l
{{# each products }}
<div class="row">
{{# each this }}
<div class="col-sm-6 col-md-4">
<form action = "/add-to-cart/{{this._id}}" method="post" enctype="multipart/form-data">
<div class="img-thumbnail" alt="text-center">
<div class="thumbnail">
<img src="{{this.imagePath}}" class="img-fluid" alt="Responsive image">
<div class="caption">
<h3>{{this.title}}</h3>
<p class="description">{{this.description}}</p>
<div class="clearfix">
<input type="text" name="Quantity" placeholder="vnt" form="insert-id-of-form" class="float-left">
<div class="price float-left">{{this.price}}</div>
<input type="submit" class="fadeIn fourth" value="Užsakyti">
</div>
</div>
</div>
</div>
</div>
</form>
{{/each}}
</div>
{{/each}}
我已经用multer,Fornighous,bodyparser试过了,但它似乎没有解析输入数字。我非常坚持这一点。任何帮助都将不胜感激
亲切的问候,如果有人遇到类似的问题,请在这里发布答案 显然,问题在于,尽管nodejs部分工作正常,但for数据并没有被传递。这是我的错误,我没有去浏览器上的开发者选项,检查表单数据是空的 一旦html部分在一个div中
{{# each products }}
<div class="row form-group">
{{# each this }}
<form action = "/add-to-cart/{{this._id}}" method="post" enctype="multipart/form-data">
<div class="form-group">
<img src="{{this.imagePath}}" class="img-fluid" alt="Responsive image">
<h3>{{this.title}}</h3>
<p class="description">{{this.description}}</p>
<input type="number" name="Quantity" placeholder="vnt" class="float-left">
<input type="submit" class="fadeIn fourth" value="Užsakyti">
</div>
</form>
{{/each}}
</div>
{{/each}}
并将其解析为int,如下所示:
parseInt(itemQty);
剩下的就是修复视图
感谢所有费心阅读的人。如果有人会遇到类似问题,请在这里发布答案 显然,问题在于,尽管nodejs部分工作正常,但for数据并没有被传递。这是我的错误,我没有去浏览器上的开发者选项,检查表单数据是空的 一旦html部分在一个div中
{{# each products }}
<div class="row form-group">
{{# each this }}
<form action = "/add-to-cart/{{this._id}}" method="post" enctype="multipart/form-data">
<div class="form-group">
<img src="{{this.imagePath}}" class="img-fluid" alt="Responsive image">
<h3>{{this.title}}</h3>
<p class="description">{{this.description}}</p>
<input type="number" name="Quantity" placeholder="vnt" class="float-left">
<input type="submit" class="fadeIn fourth" value="Užsakyti">
</div>
</form>
{{/each}}
</div>
{{/each}}
并将其解析为int,如下所示:
parseInt(itemQty);
剩下的就是修复视图
感谢所有费心阅读的人。你在app.js
app.use(bodyParser.urlencoded({extended:true})中使用过这个吗是的,很遗憾。它就在那里,我可以在另一个函数中解析,这个函数接受表单数据并将其作为一个新的“顺序”——它在那里工作。但在这里不起作用。为什么要使用json
和urlencoded
两次中间件?new express支持这一点,并且不需要bodyparser
external package。这是一个混乱的过程,因为我正在尝试不同的库,因为我在这方面非常困难。问题现在已经解决了,显然视图必须位于一个表单组div中。否则表单数据不会被传递。您是否在app.jsapp.use(bodyParser.urlencoded({extended:true})中使用过这个选项是的,很遗憾。它就在那里,我可以在另一个函数中解析,这个函数接受表单数据并将其作为一个新的“顺序”——它在那里工作。但在这里不起作用。为什么要使用json
和urlencoded
两次中间件?new express支持这一点,并且不需要bodyparser
external package。这是一个混乱的过程,因为我正在尝试不同的库,因为我在这方面非常困难。不过问题现在已经解决了,显然视图必须位于一个表单组div中。否则表单数据不会被传递。
parseInt(itemQty);