2016-09-26 13 views
3

Angular 2フォームを作成して、送信したデータをJSON形式に変換してAPIに送信するのに少し問題があります。私はこの例と非常によく似た何かを探しています: $.fn.serializeObject = function() http://jsfiddle.net/sxGtM/3/
この例の唯一の問題は、コードがJQueryで書かれていて、厳密に角度2を使用しようとしていることです。 助けを歓迎します、私はまだ非常に角張っています。Angular 2フォームのシリアル化をJSON形式に変換する

+0

あなたの入力にはngmodelはありませんなぜあなたは、その後、角度を使用している場合は? –

+0

これは私が見つけた例なので、私のコードではありませんでした。私はこの例に似た何かを、角度2を使って実装したい –

答えて

1

JSON.stringify(object)を探しています。これは、javascriptオブジェクトのJSON表現を提供します。

これは、サーバーに組み込みのHTTPサービスを使用してPOSTできます。

8

FormGroupを使用している場合はgetRawValue()関数を使用して、JSON.stringify()を使用してシリアル化できるオブジェクトを返すことができます。

import { Component, OnInit } from '@angular/core'; 
import { FormGroup, FormBuilder } from '@angular/forms' 
import { Http } from '@angular/http'; 

@Component({ 
    selector: 'my-component', 
    templateUrl: 'my-component.component.html' 
}) 
export class MyComponent implements OnInit { 

    form: FormGroup; 

    constructor(private fbuilder: FormBuilder, 
       private http: Http) { } 

    ngOnInit(){ 
     this.form = this.fbuilder.group({ 
      name: '', 
      description: '' 
     }); 
    } 

    sendToAPI(){ 
     let formObj = this.form.getRawValue(); // {name: '', description: ''} 

     let serializedForm = JSON.stringify(formObj); 

     this.http.post("www.domain.com/api", serializedForm) 
      .subscribe(
       data => console.log("success!", data), 
       error => console.error("couldn't post because", error) 
      ); 
    } 
} 
0

あなたはJSON.stringify(form.value)を使用することができます。添付の画像を参照してください。

enter image description here

コンソールログ: Console Log:

関連する問題