2016-08-18 4 views
1

クライアントを使用してFormParamsでポストを送信するには、次のどのようAngular2

私はこのようなangular2に投稿してください:

doSelectMessagesAttributesUrl2(pushRequest : PushRequest) { 
    console.info("sending post request"); 

    let headers = new Headers({ 
     'Content-Type': 'application/json'}); 

    return this.http 
     .post(this.selectMessagesAttributesUrl, JSON.stringify(pushRequest), {headers: headers}) 
     .map(res => res.json().data) 
     .subscribe(
      data => { }, 
      err => { } 
     ); 
} 

どのように私はFormParamでサーバーを呼び出すための要求を変更する必要がありますか?

サーバー:

@Path("/FeatureGetQueueData") 
    @POST 
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
    @Produces(MediaType.APPLICATION_JSON) 
    public String runFeatureGetQueueData(@FormParam("queue") MyString paramQueue) throws Exception { 

     if (!SupporToolAlert.validateEnvironment(SupporToolConfig.ROW)) { 
      return SupporToolAlert.invalidEnvironment(); 
     } 

     String queue = PushQueueConfig.conf().QUEUE.get(paramQueue.value); 

答えて

0

あなたはどのモデルを使用して、フォームを組み合わせました??ドキュメントで

あなたが素敵な一例を検索することができます:right here

しかし、uはフォームのクラスを作成したくない場合は、uはこのような何かを行うことができます。

オブジェクトにフォームから各要素を追加し、 HTTP経由でこのオブジェクトを送信します。

このような何か:

component.ts

private formModel: any = {}; 
private changeFormModel(model, event) { 
    this.formModel[model] = event; 
} 
:今、あなたの中にコンポーネント

form.html

<form> 
<div class="form-group"> 
      <label for="status"> Status: </label> 
      <input id='status' type="text" class="form-control" [ngModel]="formModel.operatorStatus" (ngModelChange)="changeFormModel('status', $event)" > 
      </div> 
</form> 

、あなたはモデルからのデータが含まれているとchangeFormModelを実装するためのinit空のオブジェクトが必要です今すぐあなたの

HTTP要求は、formModelを送ることができます、それを文字列化することを忘れないでください;)

それは完璧なソリューションですが、私にとっては魅力的ですが、近い将来私はドキュメントから解決策を実装します。

+0

'this.formModel [model] = event'これはどういう意味ですか? –

+0

プロパティをオブジェクトに設定すると、イベントには$ eventという値が入ります – Daredzik

関連する問題