Angular Ionic2:将提交表单数据发送到服务
我使用的是Ionic2,我想使用POST请求将数据从表单发送到web服务,但每次我打印表单数据时,我发现它是空的,服务会向我发送它没有收到的数据。 这是我的html代码:Angular Ionic2:将提交表单数据发送到服务,angular,ionic-framework,ionic2,Angular,Ionic Framework,Ionic2,我使用的是Ionic2,我想使用POST请求将数据从表单发送到web服务,但每次我打印表单数据时,我发现它是空的,服务会向我发送它没有收到的数据。 这是我的html代码: <div class="login-box"> <form #registerForm="ngForm"> <ion-row> <ion-col id="imageContainer"> &l
<div class="login-box">
<form #registerForm="ngForm">
<ion-row>
<ion-col id="imageContainer">
<button (click)="upload()" ion-button>Take Pic & Upload </button>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<ion-list inset>
<ion-item>
<ion-label floating>{{ 'USERNAME' | translate }}</ion-label>
<ion-input type="text" name="username" #username required></ion-input>
</ion-item>
<ion-item>
<ion-label floating>{{ 'MOBILENUMBER' | translate }}</ion-label>
<ion-input type="text" name="mobile" #mobile required></ion-input>
</ion-item>
<ion-item>
<ion-label floating>{{ 'EMAILADDRESS' | translate }}</ion-label>
<ion-input type="email" name="email" #email required></ion-input>
</ion-item>
<ion-item>
<ion-label floating>{{ 'PASSWORD' | translate }}</ion-label>
<ion-input type="password" name="password" #password required></ion-input>
</ion-item>
<ion-item>
<ion-label floating>{{ 'CONFIRMPASSWORD' | translate }}</ion-label>
<ion-input type="password" name="confirmpass" #confirmPass required></ion-input>
</ion-item>
</ion-list>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="signup-col">
<button ion-button class="submit-btn" (click)="signUp(username.value,email.value,password.value,mobile.value,confirmPass.value)" full type="submit" [disabled]="!registerForm.form.valid">sign up</button>
<button ion-button class="register-btn" block clear (click)="login()">sign in</button>
</ion-col>
</ion-row>
</form>
</div>
JS:
signUp(username,email,password,mobile,confirmPass) {
this.userService.register(username,email,password,mobile)
.subscribe(data=>{
console.log('register data from service: ',data);
},
(err)=> console.log('error: ',err)
)
}
这是从服务接收到的数据:
对象{结果:数组(0),状态:对象}
结果
:
数组(0)
地位
:
对象
消息
:
阵列(4)
0
:
“用户名字段是必需的。”
1.
:
“电子邮件字段是必需的。”
2.
:
“移动字段是必需的。”
3.
:
“密码字段是必需的。”
长度
:
4在发送请求之前,您必须对数据进行字符串化。请像这样使用此功能
let body = JSON.stringify(body) return this.http.post(this.registerUrl,body,{headers:headers})
.map((response:Response)=>response.json())
相同的problem@AJT_82正文中没有元素,因此它不会打印任何数据,这就是不打印数据的问题啊抱歉,感谢您指出我的错误:)嗯,您尝试过
URLSearchParams
?这就是我所使用的:)@AJT_82感谢您的帮助,我阅读了相关内容并使用了以下行:paramsMap:Map paramsMap.set('user_name','shimaa');那么我就有了这个错误,无法读取undefinedI的属性,通常使用let body=new URLSearchParams();body.set('user\u name':username)
等等…@AJT\u 82是的,非常感谢
let body = JSON.stringify(body) return this.http.post(this.registerUrl,body,{headers:headers})
.map((response:Response)=>response.json())