2017-02-27 14 views
0

私には、食品モデルのデータを送信するためのフォームがあります。 SubmitFood関数がトリガされると、フォームはデータを送信します。 SubmitFood関数は、うまく動作するバックエンドにモデルie.this.httpService.addFood(this.model)を送信します。 しかし、これは私が現在やろうとしていることです。 フォームによって提出されたモデルは、特定の食品タイプに属します。したがって、SubmitFunctionは、food_idパラメータ(URLから取得されたID)に沿って送信する必要があります。 サービスaddFoodはid(food.id)も待っているため、URLにバインドできます。その場合、私がフォームを提出するとき、URLは "http://localhost:8000/api/foods/v1/type/100/location"のようにすべきです。すなわち、SubmitFood関数は、id = 100をサービスに送信して、送信されるモデルがどの特定の食品タイプに属するかを知る。HTTPリクエストの方法(角2)

あなただけのサービスにfood_id渡す必要が
addFood(food:any){ 

     const body = JSON.stringify(food); 
     const headers = new Headers(); 
     return this.http.post('http://localhost:8000/api/foods/v1/type/'+food.id+'/location', body, {headers: headers}) 
      .map((data:Response) => data.json()); 

    } 

//component 
export class FoodComponent implements OnInit{ 

    private food_id; 

constructor(private httpService: HttpService , private route:ActivatedRoute) {} 


    ngOnInit() { 

      this.route.params.subscribe(params => {if (params['id']) { 
       this.food_id = params['id']; 
      } 
      }) 
     } 



    model = { 
     type:"", 
     location:"" 

    }; 

    SubmitFood(){ 

     this.httpService.addFood(this.model) 
      .subscribe(data => { 

       console.log(data); 
      }) 
    } 
+1

問題/質問は何ですか? –

+0

@IgorJankovićどのように私はサービスにfood_idパラメータを送信することができるでしょうaddFood –

答えて

2

SubmitFood(){ 

    this.httpService.addFood(this.food_id) 
     .subscribe(data => { 

      console.log(data); 
     }) 
} 

フードサービス:

addFood(foodId: number){ 

    const body = JSON.stringify(food); 
    const headers = new Headers(); 
    return this.http.post('http://localhost:8000/api/foods/v1/type/'+foodId+'/location', body, {headers: headers}) 
     .map((data:Response) => data.json()); 

} 
+0

ありがとうたくさんの!!!!! –

関連する問題