我在创建Angular 2表单并将提交的数据转换为JSON格式以便提交到我的API时遇到了一些问题。我正在寻找与此示例非常相似的东西:
$.fn.serializeObject = function()
http://jsfiddle.net/sxGtM/3/
这个示例的唯一问题是代码是使用JQuery编写的,而我想要严格使用Angular 2。
非常感谢任何帮助,我对Angular还是很陌生的。
我在创建Angular 2表单并将提交的数据转换为JSON格式以便提交到我的API时遇到了一些问题。我正在寻找与此示例非常相似的东西:
$.fn.serializeObject = function()
http://jsfiddle.net/sxGtM/3/
这个示例的唯一问题是代码是使用JQuery编写的,而我想要严格使用Angular 2。
非常感谢任何帮助,我对Angular还是很陌生的。
如果您正在使用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)
);
}
}
JSON.stringify(object)
,它将为您提供JavaScript对象的JSON表示形式。然后,您可以使用内置的HTTP服务将其POST到您的服务器。