Http 如何使用Angular2使用FormParams发送邮件

Http 如何使用Angular2使用FormParams发送邮件,http,post,angular,form-parameter,Http,Post,Angular,Form Parameter,客户: 我在angular2发布的帖子如下: doSelectMessagesAttributesUrl2(pushRequest : PushRequest) { console.info("sending post request"); let headers = new Headers({ 'Content-Type': 'application/json'}); return this.http .post(this.selec

客户:

我在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);

您是否将表单与任何模型结合使用

在文档中,您可以搜索以下示例:

但如果您不想为表单创建类,可以执行以下操作:

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 => {  }
        );
}
将表单中的每个元素添加到对象,并通过http发送此对象

大概是这样的:

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 => {  }
        );
}
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>
现在,在您可以发送的http请求中,formModel,请记住将其字符串化;)

这不是一个完美的解决方案,但对我来说很有吸引力,但在不久的将来,我将从文档中实现一个解决方案


我希望这对你有帮助;)

您是否将表单与任何模型相结合

在文档中,您可以搜索以下示例:

但如果您不想为表单创建类,可以执行以下操作:

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 => {  }
        );
}
将表单中的每个元素添加到对象,并通过http发送此对象

大概是这样的:

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 => {  }
        );
}
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>
现在,在您可以发送的http请求中,formModel,请记住将其字符串化;)

这不是一个完美的解决方案,但对我来说很有吸引力,但在不久的将来,我将从文档中实现一个解决方案


我希望这对你有帮助;)

this.formModel[model]=event
这是什么意思?将属性设置为object,事件包含来自表单$event的值
this.formModel[model]=event
这是什么意思?将属性设置为object,事件包含来自表单$event的值