[英]req.body gets undefined when forwarded to another function
代碼看起來像這樣
<form class="form-horizontal" #salesdetails="ngForm" (ngSubmit)="onSubmit(salesdetails.value)">
<div class="form-group" *ngFor="let label of labels">
<label for="item1" class="col-sm-3 control-label">{{label}}</label>
<div class="col-sm-9">
<input type="text" value="" name="{{label}}" id="item1" ngModel>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-10">
<button type="submit" class="btn btn-default">Add</button>
</div>
</div>
</form>
import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { SalesService } from '../sales.service';
import { Sale } from '../model/sale';
@Component({
selector: 'app-sales',
templateUrl: 'frontend/js/sales/sales.component.html',
styleUrls: ['frontend/js/sales/sales.component.css']
})
export class SalesComponent implements OnInit {
form;
labels;
sales : Sale[];
constructor(private salesService: SalesService){}
ngOnInit(){
this.getLabels();
}
getLabels(){
this.salesService.getLables().subscribe(labels => {
this.labels = labels[0].attributes;
console.log(labels);
});
}
getSales(){
}
onSubmit(formValues){
this.salesService.addSale(formValues).subscribe(response => {
console.log(response);
});
}
}
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { Sale } from './model/sale';
@Injectable()
export class SalesService {
private lablesUrl = "/sale/labels";
private saleUrl = "/sale";
constructor(private http: HttpClient) {
}
getLables(){
return this.http.get(this.lablesUrl);
}
addSale(formValues){
return this.http.post(this.saleUrl, formValues);
}
getSales(): Observable<Sale[]> {
let sales = this.http.get<Sale[]>(this.saleUrl/*, this.authservice.options*/);
console.log(sales)
return sales;
}
deleteItems(idArray){
return this.http.delete(this.saleUrl,idArray/*, this.authservice.options*/);
}
}
route.post('/ sale',saleDao.postSale);
在saleDao.js中,存在一個名為postSale的功能,其中存在一個功能,其名稱為ModifyLabels(),如下所示。
function postSale(req,res){
console.log(req.body);//output the body of the request
utility.modifyLabels(req);
}
function modifyLabels(req){
console.log(req.body); //outputs undefined;
}
我不知道為什么req.body顯示此行為
我有類似的問題。 由於某種原因,數據已被清除,但沒有任何結果。 為了解決這個問題,我使用了如下的JSON
對象:
function postSale(req,res){
console.log(req.body);//output the body of the request
utility.modifyLabels(JSON.stringify(req));
}
function modifyLabels(req){
console.log(JSON.parse(req).body);
}
希望對您也有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.