我的角度2项目中有一个表格。
我知道如何从API中检索数据。但是不知道如何在那里执行CRUD操作。
任何人都可以帮我解决如何以JSON格式将表单数据发送到PHP /任何其他语言的Web服务的简单代码......
帮助将不胜感激。感谢
答案 0 :(得分:34)
在Angular 2+中,我们处理表单有两种方式:
我在这里分享简单模板驱动表单的代码。如果您想使用被动表单,请查看以下链接:Angular2 reactive form confirm equality of values
您的模块文件应包含以下内容:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { MyApp } from './components'
@NgModule({
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule
],
declarations: [MyApp],
bootstrap: [MyApp]
})
export class MyAppModule {
}
platformBrowserDynamic().bootstrapModule(MyAppModule)
简单注册html文件:
<form #signupForm="ngForm" (ngSubmit)="registerUser(signupForm)">
<label for="email">Email</label>
<input type="text" name="email" id="email" ngModel>
<label for="password">Password</label>
<input type="password" name="password" id="password" ngModel>
<button type="submit">Sign Up</button>
</form>
现在你的registration.ts文件应该是这样的:
import { Component } from '@angular/core';
import { NgForm } from '@angular/forms';
@Component({
selector: 'register-form',
templateUrl: 'app/register-form.component.html',
})
export class RegisterForm {
registerUser(form: NgForm) {
console.log(form.value);
// {email: '...', password: '...'}
// ... <-- now use JSON.stringify() to convert form values to json.
}
}
要在服务器端处理此数据,请使用以下链接:How to post json object with Http.post (Angular 2) (php server side)。我认为这已经足够了。
答案 1 :(得分:0)
<form [formGroup]="formData" (ngSubmit)="onSubmit()">
Name<input type="text" formControlName="name"><br><br>
City<select formControlName="city">
<option value="kkp">KKP</option>
<option value="MKT">MKT</option>
</select><br><br>
->
formData:FormGroup;
constructor() { }
ngOnInit() {
this.formData = new FormGroup({
name : new FormControl(),
city : new FormControl()
});
}
onSubmit(){
console.log(this.formData.value);
}
答案 2 :(得分:0)
我通过传递user.value
提交方法来解决此问题,请参见以下示例:
app.component.html
<form #user="ngForm" (ngSubmit)="onSubmit(user.value)">
<input type="text" name="email" placeholder="Email" ngModel required>
<input type="password" name="passwd" placeholder="Password" ngModel required>
<input type="submit" value="Submit">
</form>
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor() { }
onSubmit(data) {
console.log("Email: " + data.email
+"Password: " + data.passwd);
}
}