我有一个表单,它包含多个文本框。当某个事件发生时,我想从一个文本框中读取值,但是这种情况是我想检查一下打字稿组件和API的值是否到来。现在该值将输入到打字稿组件中,而不是API中,它将值显示为“未定义”。代码出了什么问题?
这是我的代码 HTML
<div class="form-group" width="50%">
<label>visiting flat no<sup>*</sup></label>
<input type="text" class="form-control" name="flat" placeholder="enter
flat no here"
(input)="isn(ref2)" required #ref2 ngModel></div>
打字稿
isn(ref2){
console.log(ref2.value);
this.http.post('/api/request1',ref2.value,
{responseType:'text'}).subscribe(data=>{
})
}
API
app.post('/request1',(req,res)=>{
var url="mongodb://localhost:27017/gateway";
mongo.connect(url,(err,db)=>{
var dbo=db.db("gateway")
dbo.collection("vstrinfo").find({'flat':req.body.flat}).toArray((err,data)=>{
console.log(req.body.flat);
console.log(data);
if(err) throw err;
res.send(data);
res.end();
})
})
})
答案 0 :(得分:0)
在Http调用中,您必须发送Object而不是字符串。
Mongo连接不应在API调用内。创建另一个配置,将其添加到那里。
this.http.post('/api/request1', {
flat: ref2.value
}, {
responseType: 'text'
}).subscribe(data => {})