2017-01-15 4 views
0

Ich mache eine POST-Anfrage mit der HTTP-Observable und die Anfrage wird nicht gemacht, und ich bekomme keine Fehler, ich habe einen Dienst, der die Methode ich verwende um die AnfrageVeröffentlichen von Daten in Angularjs 2 mit HTTP-Observable

zu definieren
@Injectable() 
export class MovingCompanyService { 
constructor(private http: Http){} 

registerCompany (body: Object): Observable<RegistrationDetailsModel> { 
let bodyString = JSON.stringify(body); // Stringify payload 
let headers  = new Headers({ 'Content-Type': 'application/json' }); //  ... Set content type to JSON 
let options  = new RequestOptions({ headers: headers }); // Create a request option 

return this.http.post("/moving_company/registration_form_2", body, options) // ...using post request 
        .map((res:Response) => res.json()) // ...and calling  .json() on the response to return data 
        .catch((error:any) => Observable.throw(error.json().error || 'Server error')); //...errors if any 
} 

} 

und ich habe die Komponente, dass dieser Service-Methode aufruft

constructor(private router: Router, private moving_company_service: MovingCompanyService) {} 
ngOnInit(): void { 
    if(Session.has("reg_frm_1")) { 
     let frm1Data = Session.get("reg_frm_1"); 
     console.log("Received data from form 1 ", frm1Data); 
    } 
} 

registerCompany(): void { 
    let registrationOperation:Observable<RegistrationDetailsModel>; 
    let registration_details = { 
     reg_frm_1: Session.get("reg_frm_1"), 
     reg_frm_2: this.model 
    } 
    this.moving_company_service.registerCompany(registration_details) 
} 

Und ich rufe die Komponentenmethode ‚registerCompany‘ auf einen Blick Click-Ereignis wie

<button (click)="registerCompany()">Submit</button> 

Ich bin nicht sicher, was ich bin fehlt oder falsch zu machen, ich die rxjs Bibliothek importiert haben, die Karte und und fangen Betreiber und haben alle relevanten Einfuhren gemäß, würde ich Ihre Hilfe schätzen

+0

was ist der Fehler? Haben Sie den Netzwerk-Tab überprüft Haben Sie einen Eintrag im Netzwerk-Tab bekommen? Haben Sie auch überprüft, dass die URL genau dort ist, wo Sie die Daten veröffentlichen? –

+2

Wo rufst du die Subscribe-Funktion an? –

+0

Ich denke, dass nicht Subskribieren auf Komponente, die das Problem ist. Bitte schauen Sie auf meine Antwort und lassen Sie mich wissen, wenn es hilft –

Antwort

1

dieses

Versuchen
 this.moving_company_service.registerCompany 
      ((registration_details).subscribe(
      r => r, 
      error => this.errorMessage = <any>error, 
      () => { }); 
+0

Ich habe eine Zeichenfolge-Eigenschaft auf meiner Komponente mit Namen errorMessage –