2016-01-22 26 views
9

Questa è la mia prima esperienza con angular 2. Ho creato un modulo semplice e provo a inviarlo ma quando http.post viene eseguito non succede nulla. Non ci sono richieste fatte nella scheda di rete, non ci sono errori.angular2: post http non in esecuzione

Ecco il mio codice:

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()); 


    } 

ho impostato un punto di interruzione su Save metodo e sta attraversando lì, ma come ho detto non succede nulla. Cosa mi manca?

risposta

28

Gli osservabili sono pigri, quindi è necessario iscriversi su di essi per eseguire la richiesta anche se non si desidera gestire la risposta.

Qualcosa del genere:

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(); 
    } 

Spero che ti aiuta, Thierry

+2

osservabili sono davvero potente ;-) Si potrebbe cominciare da qui per quanto riguarda la programmazione reattiva: https://gist.github.com/ staltz/868e7e9bc2a7b8c1f754. Davvero utile vedere il loro potere –

+0

Grazie mille! perché non ho trovato questo post prima. sprecato un paio di giorni su questo. Saluti – Aashish