Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Ionic2:将提交表单数据发送到服务_Angular_Ionic Framework_Ionic2 - Fatal编程技术网

Angular Ionic2:将提交表单数据发送到服务

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

我使用的是Ionic2,我想使用POST请求将数据从表单发送到web服务,但每次我打印表单数据时,我发现它是空的,服务会向我发送它没有收到的数据。 这是我的html代码:

    <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())