簡體   English   中英

如何使用Angular2發送FormParams的帖子

[英]how to send post with FormParams using 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);

你把表格與任何型號結合了嗎?

在文檔中,您可以搜索好的示例: 就在這里

但是如果你不想為你的表單創建類,你可以這樣做:

將每個元素從表單添加到對象,並通過http發送此對象。

這樣的事情:

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>

現在在你的組件中,你需要init空對象來包含來自模型的數據並實現changeFormModel:

component.ts

private formModel: any = {};
private changeFormModel(model, event) {
    this.formModel[model] = event;
}

現在在你的http請求你可以發送,formModel,記得將其字符串化;)

這不是一個完美的解決方案,但對我來說就像魅力一樣,但在不久的將來,我將從文檔中實現一個解決方案。

我希望它能幫到你;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM