2016-06-24 8 views
0

das ist meine Methode, die ich von meinem Dienst nenne es nichtAngular2 Http Beitrag ausführt nicht

ausgeführt
addData(data) { 
    let _body = JSON.stringify(data); 
    let headers = new Headers({'Content-Type': 'application/json;charset=utf-8'}); 

    let url = 'http://localhost:8080/obj/addData'; 
    let requestoptions:RequestOptions = new RequestOptions({ 
     method: RequestMethod.Post, 
     url: url, 
     headers: headers, 
     body : _body 
    }); 
    console.log("test"); 
    return this._http.request(new Request(requestoptions)) 
     .map((res:Response) => { 
      console.log(res); 
      return res.json(); 
     }); 
} 

ich die console.log hinzugefügt, um sicherzustellen, dass das Verfahren, weil genannt wird, obwohl ich eine Methode nichts

getan nennen

Antwort

0

Weil die request Methode nicht allein ausgeführt wird. Angenommen, Sie sind bereits auf die addData Methode abonnieren, würde ich vorschlagen, die post Methode stattdessen wie folgt aus:

addData(data) { 
    let _body = JSON.stringify(data); 
    let headers = new Headers({'Content-Type': 'application/json;charset=utf-8'}); 

    let url = 'http://localhost:8080/obj/addData'; 

    console.log("test"); 

    return this._http.post(url, _body, { headers }) 
     .map((res:Response) => { 
      console.log(res); 
      return res.json(); 
     }); 
} 
1

In angular2 HTTP-Anfragen werden nicht gemacht, bis Sie auf den http Anruf abonnieren. Also, wenn Sie eine Zeichnung hinzufügen, in dem Sie das Verfahren auf Ihrem Service rufen wie so:

// In some component or service using your service 
this.service.addData(data).subscribe(resp => console.log(resp)); 

Dann sollten Sie eine Anfrage sehen, und die Antwortdaten in der Konsole in diesem Fall geschrieben.

+0

yess danke (Y) –