[英]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.