Я не знаю, если мой javascript файл не получает json или мой драйвер не отправляет их? - PullRequest
0 голосов
/ 10 апреля 2020

людей, которые встали. Я отправляю данные при регистрации пользователя в базе данных. Я пытаюсь использовать последние современные и запросы, которые я отправляю не с ajax, но получить: Хорошо, дело в том, что пользователь вставлен, но это не мой файл php, который не отправляет json или если это выборка, которую он не получает. Это только потому, что он не позволяет мне играть с уведомлениями 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));

1 Ответ

0 голосов
/ 10 апреля 2020

Проблема в вашем javascript коде, сначала вы должны преобразовать его в json с помощью res.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)=>{

})

Apart отсюда дополнительно } перед die(json_encode($respuesta));. Если это так, вам нужно удалить его.

...