客户端:
我会像这样在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 :(得分:0)
您是否将表单与任何模型合并了?
但是如果你不想为你的表单创建类,你可以这样做:
将每个元素从表单添加到对象,并通过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,记得将其字符串化;)
这不是一个完美的解决方案,但对我来说就像魅力一样,但在不久的将来,我将实施文档解决方案。
我希望它对你有帮助;)