为什么我的有角度的http帖子返回正常,不能正常订阅?

时间:2019-11-18 13:51:33

标签: php angular http https httpresponse

我在前端有PHP后端。

为什么我要像这样用角度写一个http帖子: `Register.component.ts

 createUser(){  
 this.registers.roles = "user";
 this.registers.isnewsletter=false;



 this.registerService.createUser(this.registers).subscribe((response)=>{
   console.log(response);
   if(response.status===200){
    this.router.navigate(["/register"])
   }

 },
 err=>{
   if( err instanceof HttpErrorResponse){
     if(err.status === 409){
       this.error=err.message

     }
   }
 }
 )

}

`

例如,如果返回错误409,并给我40'的错误消息,但是如果状态正常,并且将我的日期保存在db上,则内部订阅的代码无效。

PHP文件:

 try{
        echo("user/add trying");
        $db = new db();
        $db=$db->connect();

        $stmt_check = $db -> query($sql_check);
        $user = $stmt_check->fetchAll(PDO::FETCH_OBJ);
        echo json_encode(utf8ize($user));
        if($user == null){
            $stmt = $db -> prepare($sql);
            $stmt->bindParam(":email", $email);
            $stmt->bindParam(":password",$password );
            $stmt->bindParam(":firstname",  $firstname);
            $stmt->bindParam(":secondname", $secondname);
            $stmt->bindParam(":isnewsletter", $isnewsletter);
            $stmt->bindParam(":username",  $username);
            $stmt->bindParam(":roles", $roles);

            $stmt ->execute();
            echo($response);


        }
        else{
            return $response->withStatus(409);
        }



Register.service.ts

export class RegisterService {

  constructor(private http: HttpClient) { }
  relativePath = "user/add";

  createUser(request: RegisterRequest) {
    return this.http.post<any>(environment.endpoint + this.relativePath, request);
  }
}

我想知道我该如何在angular的响应内工作代码

ps。这个前端诞生于Java中,现在我正在创建php后端,而java响应却无法使php

1 个答案:

答案 0 :(得分:0)

我尝试了您的所有建议,我不明白为什么这样做

返回$ response-> withStatus(409);

错误部分有效,但是如果我返回200 ok的状态不起作用,则订阅内的部分不起作用请帮助我