我不知道';我不知道我的javascript文件是否';没有收到json或我的驱动程序没有';我不会送他们吗?

我不知道';我不知道我的javascript文件是否';没有收到json或我的驱动程序没有';我不会送他们吗?,javascript,php,json,fetch,fetch-api,Javascript,Php,Json,Fetch,Fetch Api,站起来的人。我在数据库中注册用户时发送数据。我尝试使用最新的现代技术,我发送的请求不是ajax而是fetch:问题是插入了用户,但不是我的php文件没有发送json,或者如果是fetch,它没有收到。这仅仅是因为它不允许我使用javascript通知,或者如果我想打印输入的数据,我就不能。看看代码: Javascript: const datos=new FormData(); datos.append('nombre',nombre); datos.append('email',email);

站起来的人。我在数据库中注册用户时发送数据。我尝试使用最新的现代技术,我发送的请求不是ajax而是fetch:问题是插入了用户,但不是我的php文件没有发送json,或者如果是fetch,它没有收到。这仅仅是因为它不允许我使用javascript通知,或者如果我想打印输入的数据,我就不能。看看代码:

Javascript:

const datos=new FormData();
datos.append('nombre',nombre);
datos.append('email',email);
datos.append('usuario',usuario);
datos.append('contrasenia',contrasenia);
datos.append('rol',rol);

//Peticion api
fetch(`http://localhost/Facturacion/usuario/save`,{
    method:'post',
    body:datos
})
.then((res)=>{
    console.log(res.respuesta);
    return res.json();
})
.then((data)=>{

})
.then(
    mostrarNotificacion('Usuario insertado','correcto'),
    this.reset()
)
.catch((error)=>{

})
控制器:

if ($errores=='success'){  
    $objUsuario=new Usuario();
    $objUsuario->setNombre($nombre);
    $objUsuario->setEmail($email);
    $objUsuario->setUsuario($usuario);
    $objUsuario->setPassword($password);
    $objUsuario->setRol($rol);

    $validar=$objUsuario->validateUsuario();               
    while($cantidad=$validar->fetch_assoc()):
        if($cantidad['conteo']=='1'){
            $respuesta=array(
                'respuesta'=>'error',
                'mensaje'=>'Este usuario ya existe'
            );
        }else{
            $save=$objUsuario->save();
            if ($save){
                $respuesta=array(
                    'respuesta'=>'exito',
                    'mensaje'=>'Usuario registrado correctamente'
                );
            }
        }
        endwhile;
}elseif($errores!="success"){
    $respuesta=array(
        'respuesta'=>'error',
        'mensaje'=>$errores
    );
}
}
die(json_encode($respuesta));

问题在于javascript代码内部,首先必须使用
res.json()
将其转换为json,然后才能获取
res.respuesta
,如果此代码有效,请尝试

const datos=new FormData();
datos.append('nombre',nombre);
datos.append('email',email);
datos.append('usuario',usuario);
datos.append('contrasenia',contrasenia);
datos.append('rol',rol);

//Peticion api
fetch(`http://localhost/Facturacion/usuario/save`,{
    method:'post',
    body:datos
})
.then((res)=>{
    return res.json();
})
.then((data)=>{
    var jsonRespuesta = data;
    console.log(jsonRespuesta.respuesta);
    mostrarNotificacion('Usuario insertado','correcto'),
    this.reset()
})
.catch((error)=>{

})

除此之外,在
die(json_encode($respuesta))前面还有一个
}
。如果是这样,您需要删除它。

Uncaught(in promise)SyntaxError:Unexpected token<在JSON中位于网络的0位置,我得到了{“respuesta”:“exito”,“mensaje”:“Usuario registdo correctante”}@Jesu
@Jesu我给了您正确的答案,您必须在第二个位置使用数据。。