2016-01-22 49 views
9

这是我第一次使用angular 2.我创建了一个简单的表单并尝试提交它,但是当http.post被执行时什么也没有发生。在网络选项卡中没有请求,没有错误。angular2:http post不执行

这里是我的代码:

save(model) { 
     var uri = this._baseUri + "/api/contact/AddContact"; 

     let md = JSON.stringify(model); 

     this.http.post(uri, 
      JSON.stringify(md), 
      { 
       headers: new Headers({ 
        'Content-Type': 'application/json' 
       }) 
      }) 
      .map(res => res.json()); 


    } 

我已经设置保存方法中设置断点,并正在经历什么。但我说什么也不会发生。我错过了什么?

回答

28

Observable是懒惰的,所以你需要订阅它们来使请求执行,即使你不想处理响应。

类似的东西:

save(model) { 
    var uri = this._baseUri + "/api/contact/AddContact"; 
    let md = JSON.stringify(model); 

    this.http.post(uri, 
    JSON.stringify(md), 
    { 
     headers: new Headers({ 
     'Content-Type': 'application/json' 
     }) 
    }) 
    .map(res => res.json()).subscribe(); 
    } 

希望它可以帮助你, 蒂埃里

+2

观测量真厉害;-)你可以从这里开始就反应式编程:https://gist.github.com/ staltz/868e7e9bc2a7b8c1f754。真的很有帮助,看到他们的力量 –

+0

非常感谢!为什么我以前没有找到这篇文章。浪费了几天的时间。干杯 – Aashish