2016-09-26 6 views
3

Ich habe ein wenig Probleme beim Erstellen meiner Angular 2 Formular und Konvertieren der übermittelten Daten in JSON-Format für die Verwendung der Einreichung an meine API. Ich suche nach etwas, das sehr ähnlich zu diesem Beispiel funktioniert: $.fn.serializeObject = function() http://jsfiddle.net/sxGtM/3/
Das einzige Problem mit diesem Beispiel ist, dass der Code in JQuery geschrieben wird, während ich versuche, streng angular 2. Jede Hilfe würde sehr geschätzt werden Ich bin noch sehr neu in eckigen.Angular 2 Form Serialisierung in JSON-Format

+0

wenn Sie verwenden dann kantig, warum keine ngmodel in Ihrer Eingabe gibt es? –

+0

Weil dies ein Beispiel war, fand ich, nicht meinen Code. Ich möchte etwas Ähnliches wie in diesem Beispiel mit Winkel 2 implementieren –

Antwort

1

Sie suchen nach JSON.stringify(object), die Ihnen die JSON-Repräsentation Ihres Javascript-Objekts geben wird.

Sie können dies dann mit dem integrierten HTTP-Dienst an Ihren Server senden.

8

Wenn Sie FormGroup verwenden, können Sie die Funktion getRawValue() verwenden, um ein Objekt zurückzugeben, das dann mit JSON.stringify() serialisiert werden kann.

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

können Sie verwenden JSON.stringify (form.value). Bitte beachten Sie die beigefügten Bilder.

enter image description here

Console Log: Console Log: