【问题标题】:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data - IONICSyntaxError:JSON.parse:JSON 数据的第 1 行第 1 列出现意外字符 - IONIC
【发布时间】:2023-03-11 21:17:01
【问题描述】:

我正在尝试在数据库上注册用户详细信息,但 JSON 变量无法传递 .它显示一个语法错误 this.accsPrvds.postData(body,'process_api.php').subscribe((res:any)=>{ } 函数工作不正常(如果真假条件不工作直接运行(.err ) 声明)

access-provider.ts

export class AccessProviders{
server:string='http://localhost/api/';
constructor(private http:HttpClient
    ) { }

    postData(body,file){
        let headers=new HttpHeaders({
        'Content-Type':'application/json; charset=UTF-8'
        });
        let options= { 
            headers : headers
        }
        return this.http.post(this.server + file , JSON.stringify(body),options)
        .timeout(590000)
        .map(res=>res);

    }

}

register.ts

async tryRegister(){
        if(this.your_name==""){
        this.presentToast('your name is required');
        }else if(this.email_address==""){
          this.presentToast('Email is required');
        }else if(this.password==""){
        this.presentToast('password is required');
        }else if(this.confirm_pass!=this.password){
        this.presentToast('Password not match');
        }else{
        this.disabledButton=true;
        const loader = await this.load.create({
        message:'Please Wait.....',
    });
    loader.present();
  return new Promise(resolve=>{
    let body = {
    aksi: 'process_register',
    your_name: this.your_name,
    email_address: this.email_address,
    password: this.password,
    confirm_pass: this.confirm_pass
    }


this.accsPrvds.postData(body,'process_api.php').subscribe((res:any)=>{
console.log("hello");
if(res.success == 'true'){
loader.dismiss();
this.disabledButton=false;
this.presentToast(res.msg);
this.router.navigate(['/login']);
}else {
  loader.dismiss();
  this.disabledButton=false;
  this.presentToast(res.msg); 

}

},(err)=>{
  loader.dismiss();
  this.disabledButton=false;
  this.presentAlert('Timeout');
});

    });
  }



  }

process_api.php

<?php

header('Access-Control-Allow-Orgin: *');

header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Origin,Content-Type,Authorization,Accept,X-Requested-With,x-xsrf-token");
header("Content-Type: application/json;charset=utf-8");
include "config.php";
$postjson=json_decode(file_get_contents('php://input'),true);

if($postjson['aksi']=="process_register"){

          $checkmail=mysqli_fetch_array(mysqli_query($mysqli,"SELECT email_address FROM register WHERE email_address='$postjson[email_address]'"));

          if($checkmail['email_address']==$postjson['email_address']){
            $result=json_encode(array('success'=>false,'msg'=>'Email Already Registered'));
          }else{

                $password=md5($postjson['password']);

                $insert = mysqli_query($mysqli,"INSERT INTO register SET 
                your_name ='$postjson[your_name]',
                email_address ='$postjson[email_address]', 
                password ='$password', 
                confirm_pass ='$postjson[confirm_pass]'

                ");
                if($insert){
                    $result=json_encode(array('success'=>true,'msg'=>'Register Successfully'));
                }else{
                    $result=json_encode(array('success'=>false,'msg'=>'Register error'));
                }

          }
          echo $result;
}
?>

用户注册成功但显示超时消息 this.accsPrvds.postData(body,'process_api.php').subscribe((res:any)=>{ } 和 json 错误...

请大家帮忙

【问题讨论】:

  • 尝试删除资源this.accsPrvds.postData(body,'process_api.php').subscribe(res=&gt;{ console.log("hello"); if(res.success == 'true'){ loader.dismiss(); this.disabledButton=false; this.presentToast(res.msg); this.router.navigate(['/login']); }else { loader.dismiss(); this.disabledButton=false; this.presentToast(res.msg); } },(err)=&gt;{ loader.dismiss(); this.disabledButton=false; this.presentAlert('Timeout'); }); }); }的对象类型

标签: ionic-framework


【解决方案1】:

请删除分配给 res 的对象类型“任何”

【讨论】:

  • (显示另一个错误 --> 属性成功不退出)this.accsPrvds.postData(body,'process_api.php').subscribe((res=>{ console.log("你好"); if(res.success == 'true'){ loader.dismiss(); this.disabledButton=false; this.presentToast(res.msg); this.router.navigate(['/login']) ; }else { loader.dismiss(); this.disabledButton=false; this.presentToast(res.msg); } }),(err)=>{ loader.dismiss(); this.disabledButton=false; this.presentAlert ('暂停'); }); }); } }
猜你喜欢
  • 2014-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
  • 1970-01-01
  • 2016-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多