数据未从html传入API

时间:2018-06-21 06:37:13

标签: angular mongodb api typescript mean-stack

我有一个表单,它包含多个文本框。当某个事件发生时,我想从一个文本框中读取值,但是这种情况是我想检查一下打字稿组件和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();

           })
  })
   })

1 个答案:

答案 0 :(得分:0)

在Http调用中,您必须发送Object而不是字符串。

Mongo连接不应在API调用内。创建另一个配置,将其添加到那里。

this.http.post('/api/request1', {
    flat: ref2.value
}, {
    responseType: 'text'
}).subscribe(data => {})