gpt4 book ai didi

node.js - MongoDB - Postman 错误 - 数据发送失败

转载 作者:可可西里 更新时间:2023-11-01 10:48:08 26 4
gpt4 key购买 nike

我已经使用 Mean Stack 构建了一个项目。我创建了一个可以插入数据的报表

当我从表单插入数据时,数据被插入到集合中。

但是当我使用 Postman 插入数据时,数据插入失败。

以下是代码段:

1.前端表单-report.component.html

            <form (ngSubmit)="savereportdata()" novalidate>
<ba-card>
<div class="form-group">
<label for="middleItemId">Item ID</label>
<input type="text" class="form-control" placeholder="Enter Item ID" [(ngModel)]="itemId" name="itemId">
</div>
<div class="form-group">
<label for="middleItemName">Item Name</label>
<input type="text" class="form-control" placeholder="Enter Item Name" [(ngModel)]="itemName" name="itemName">
</div>

<div class="form-group">
<label for="warrentyUntil">Warrenty Until</label>
<input type="date" readonly="" class="form-control">
</div>

<div class="form-group">
<label for="reportDescription">Description</label>
<textarea class="form-control" rows="3" [(ngModel)]="reportDescription" name="reportDescription"></textarea>
</div>

<button type="submit" class="btn btn-primary">Submit</button>
</ba-card>
</form>

2.report.component.ts

import { NgModule,Component,Pipe,OnInit } from '@angular/core';
import { ReportItemService } from '../../../services/report-item.service'

@Component({
selector: 'app-report',
templateUrl: './report.component.html'
})

export class ReportComponent implements OnInit {

itemId:Number;
itemName:String;
reportDescription:String;
constructor(public reportservice:ReportItemService) {}

ngOnInit() {}

savereportdata() {
const reportitem = {
itemId:this.itemId,
itemName:this.itemName,
reportDescription:this.reportDescription
};
this.reportservice.reportitemdata(reportitem).subscribe(res=> {
console.log(res);
});
}
}

3.report-item.service.ts

import { Injectable } from '@angular/core';
import { Http,Headers} from '@angular/http';
import 'rxjs/add/operator/map';


@Injectable()
export class ReportItemService {
reportitem:any;
constructor(private http:Http) {}
reportitemdata(reportitem) {
let headers=new Headers();
headers.append('Content-Type','application/json');
return this.http.post("http://localhost:3000/reportItem",reportitem,{headers:headers}).map(res=>res.json());
}
}

4.后端模型-report.js

const mongoose = require('mongoose');
const schema = mongoose.Schema;

const reportSchema = new schema({
itemId: { type: Number, required: true },
itemName: { type: String },
reportDescription: { type: String },
date: { type: Date }
});

module.exports = mongoose.model("ReportItem", reportSchema);
module.exports.saveReportItem = function(newreport, callback) {
console.log(newreport);
newreport.save(callback);
};

5.router-reportItem.js

const express = require('express');
const router = express.Router();
const config = require('../config/database');
const ReportItem = require('../models/request-report/report');
router.post("", function(req, res) {

const newreport = new ReportItem({
itemId: req.body.itemId,
itemName: req.body.itemName,
reportDescription: req.body.reportDescription,
date: new Date
});

ReportItem.saveReportItem(newreport, function(err, report) {
if (err) {
res.json({ state: false, msg: "data not inserted" });
}
if (report) {
res.json({ state: true, msg: "data inserted" });
}
});
});

module.exports = router;

从表单插入数据时的结果截图:

Data Inserted

Postman报错截图:

Postman Data Insertion Failed

几个星期以来,我一直在努力解决这个问题,但没能成功。

提前致谢!

最佳答案

您可以尝试使用 bodyParser js代码中的模块从请求中获取数据。我过去遇到过这方面的问题。

关于node.js - MongoDB - Postman 错误 - 数据发送失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47852210/

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