如何使用 Angular2 通过 FormParams 发送 post
how to send post with FormParams using Angular2
客户:
我在 angular2 中做 post 是这样的:
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);
你有没有将你的表格与任何模型结合起来??
在文档中你可以搜索很好的例子:right here
但是如果您不想为您的表单创建 class,您可以这样做:
将表单中的每个元素添加到对象,并通过 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>
现在在您的组件中,您需要初始化空对象以包含来自模型的数据并实施 changeFormModel:
component.ts
private formModel: any = {};
private changeFormModel(model, event) {
this.formModel[model] = event;
}
现在您可以在您的 http 请求中发送 formModel,记得将其字符串化 ;)
这不是一个完美的解决方案,但对我来说很有魅力,但在不久的将来我将实施文档中的解决方案。
希望对您有所帮助 ;)
客户:
我在 angular2 中做 post 是这样的:
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);
你有没有将你的表格与任何模型结合起来??
在文档中你可以搜索很好的例子:right here
但是如果您不想为您的表单创建 class,您可以这样做:
将表单中的每个元素添加到对象,并通过 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>
现在在您的组件中,您需要初始化空对象以包含来自模型的数据并实施 changeFormModel:
component.ts
private formModel: any = {};
private changeFormModel(model, event) {
this.formModel[model] = event;
}
现在您可以在您的 http 请求中发送 formModel,记得将其字符串化 ;)
这不是一个完美的解决方案,但对我来说很有魅力,但在不久的将来我将实施文档中的解决方案。
希望对您有所帮助 ;)