我在前端有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
答案 0 :(得分:0)
我尝试了您的所有建议,我不明白为什么这样做
返回$ response-> withStatus(409);
错误部分有效,但是如果我返回200 ok的状态不起作用,则订阅内的部分不起作用请帮助我