2016-01-22 10 views
9

Dies ist meine erste Erfahrung mit eckigen 2. Ich habe ein einfaches Formular erstellt und versuchen, es zu übermitteln, aber wenn http.post ausgeführt wird passiert nichts. Es gibt keine Anfrage in der Netzwerk-Registerkarte, es gibt keine Fehler.angular2: http Post nicht ausgeführt

Hier ist mein Code:

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


    } 

ich einen Haltepunkt auf Speichermethode festgelegt haben und wird durch dorthin zu gehen, aber wie ich sagte nichts passiert. Was vermisse ich?

Antwort

28

Observables sind faul, also müssen Sie sie abonnieren, damit die Anfrage ausgeführt wird, auch wenn Sie die Antwort nicht behandeln möchten.

So etwas:

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

Hoffe, dass es Ihnen hilft, Thierry

+2

Observable sind wirklich mächtig ;-) Man könnte hier in Bezug auf reaktive Programmierung starten: https://gist.github.com/ staltz/868e7e9bc2a7b8c1f754. Wirklich hilfreich, um ihre Kraft zu sehen –

+0

Vielen Dank! Warum habe ich diesen Beitrag nicht früher gefunden? verschwendete paar Tage darauf. Prost – Aashish