Ich habe Probleme beim Erstellen meines Angular 2-Formulars und der Konvertierung der übermittelten Daten in das JSON-Format, um es an meine API zu senden. Ich suche etwas, das diesem Beispiel sehr ähnlich ist: $.fn.serializeObject = function()
http://jsfiddle.net/sxGtM/3/
Das einzige Problem bei diesem Beispiel ist, dass der Code in JQuery geschrieben ist, während ich versuche, streng winklige 2. .. __ zu verwenden.
Sie können die Funktion getRawValue()
verwenden, wenn Sie eine FormGroup
verwenden, um ein Objekt zurückzugeben, das 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)
);
}
}
Sie suchen nach JSON.stringify(object)
, die Ihnen die JSON-Darstellung Ihres Javascript-Objekts geben wird.
Sie können dies dann mit dem integrierten HTTP-Dienst auf Ihrem Server POST durchführen.