我正在尝试使用Angular 2中的Http post方法发布我的表单数据,并在Java EE后端Web服务中接收该数据,因此这是我UserComponent
的代码:
export class UserComponent{
form : FormGroup;
output: string ;
public pro: Client[]=[];
constructor(private http: Http,public fb: FormBuilder,private ClientService: ClientService) {
this.form=this.fb.group({
userName : '',
password : '',
nom : '',
email : '',
phone : '',
adress : '',
});
}
这是我UserComponent
的模板代码:
<md-card>
<form [formGroup]="form" class="form-group">
<md-input placeholder="Name" formControlName="name"></md-input><br>
<md-input placeholder="userEmail" formControlName="email"></md-input><br>
<md-input placeholder="userPhone" formControlName="phone"></md-input><br>
<md-input placeholder="username" formControlName="userName"></md-input><br>
<md-input placeholder="shippingAddress" formControlName="adress"></md-input><br>
<md-input placeholder="password" formControlName="password"></md-input><br>
</form>
<md-card>
<button (click)="onSubmit(form.value);" md-raised-button ">Create User</button>
</md-card>
代表userService
:
sendInfo(value){
const body = new URLSearchParams(value);
body.set('Email', value.email);
body.set('name', value.name);
body.set('Address', value.adress);
body.set('Phone', value.phone);
body.set('password', value.password);
body.set('username', value.userName);
let headers = new Headers();
//headers.append('Content-Type', 'application/json');
headers.append('Content-Type', 'application/x-www-form-urlencoded');
return this.http.post('http://localhost:8080/BCWEB/AddUser',body.toString(), {
headers : headers
}).map(res => res.json());
}
现在为后端Java EE Web服务:
@POST
@Path("/AjouterClient")
@Consumes("application/x-www-form-urlencoded")
public void post(
@FormParam(value="Clientnom")String nom ,
@FormParam(value="ClientEmail")String email,
@FormParam(value="ClientPhone")String tel ,
@FormParam(value="username")String adress ,
@FormParam(value="password")String username ,
@FormParam(value="shippingAddress")String password) {
metier.ajouterClient(new Client(nom,email,tel,username,password,adress));
}