JavaScript - Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

 
Vista:
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por Angel (7 intervenciones) el 17/09/2020 20:17:43
Estoy realizando un proyecto con php, js, ajax y mysql. Al realizar la peticion ajax desde js recivo este error.

Uncaught SyntaxError: Unexpected token a in JSON at position 0
at JSON.parse (<anonymous>)
at XMLHttpRequest.xhr.onreadystatechange (validarformulario.js:34)


JS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const form = document.getElementById('añadircontactos').addEventListener("submit", leerformulario);
 
 
 
 
 
function leerformulario(evt) {
    const nombre = document.getElementById('nombre').value;
    const empresa = document.getElementById('empresa').value;
    const telefono = document.getElementById('telefono').value;
 
    var infocontacto = new FormData();
    infocontacto.append('nombre', nombre);
    infocontacto.append('empresa', empresa);
    infocontacto.append('telefono', telefono);
 
 
    if (nombre == "" || empresa == "" || telefono == "") {
        console.log('Todos los campos son obligatorios')
    } else {
        insertardb(infocontacto);
    }
    evt.preventDefault();
}
 
 
 
function insertardb(datos) {
 
    let xhr = new XMLHttpRequest();
    xhr.open("POST", "modelo-contactos.php", true);
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            var respuesta = JSON.parse(xhr.responseText);
            console.log(respuesta);
            var añadirtareas = document.getElementById('añadirtareas');
            añadirtareas.innerHTML=`
            <td class="tabla">${respuesta.datos.nombre}</td>
            <td class="tabla">${respuesta.datos.empresa}</td>
            <td class="tabla">${respuesta.datos.telefono}</td>`
           ;
        }
 
    }
    xhr.send(datos);
}

PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
 
 
require_once("conexionbd.php");
 
    $nombre = filter_var($_POST['nombre'], FILTER_SANITIZE_STRING);
    $empresa = filter_var($_POST['empresa'], FILTER_SANITIZE_STRING);
    $telefono = filter_var($_POST['telefono'], FILTER_SANITIZE_STRING);
    echo("$nombre $empresa $telefono");
    try {
        $statement = $conexion->prepare("INSERT INTO contactos(usuario, empresa, telefono) VALUES (?, ?, ?)");
        $statement -> bind_param("sss", $nombre, $empresa, $telefono);
        $statement -> execute();
        $respuesta = array(
            'respuesta' => 'correcto',
            'datos' => array(
                'nombre' => $nombre,
                'empresa' => $empresa,
                'telefono' => $telefono
            )
            );
 
        $statement->close();
        $conexion->close();
    } catch (Exception $e) {
        $respuesta = "Operacion fallida" + $e->getMessage();
 
 
}
echo json_encode($respuesta);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 2.725
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por joel (612 intervenciones) el 18/09/2020 07:28:40
Hola Angel, creo que tu problema esta cuando la operación es fallida, que no devuelve un json...

Prueba a cambiar la linea 26
1
$respuesta = "Operacion fallida" + $e->getMessage();
por algo así:
1
2
3
$respuesta = array(
    'respuesta' => "Operacion fallida" + $e->getMessage()
);

Coméntanos si era este el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por Angel (7 intervenciones) el 18/09/2020 19:05:02
No me funciona. Me sigue dando el mismo error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.725
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por joel (612 intervenciones) el 18/09/2020 20:52:26
Revisa la consola del navegador, haber que recibe...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por Angel (7 intervenciones) el 19/09/2020 00:30:17
Si es escribo la url http://localhost/Nueva%20carpeta/modelo-contactos.php me salen los siguientes errores.



Notice: Undefined index: nombre in C:\xampp\htdocs\Nueva carpeta\modelo-contactos.php on line 6

Notice: Undefined index: empresa in C:\xampp\htdocs\Nueva carpeta\modelo-contactos.php on line 7

Notice: Undefined index: telefono in C:\xampp\htdocs\Nueva carpeta\modelo-contactos.php on line 8
{"respuesta":"correcto","datos":{"nombre":"","empresa":"","telefono":""}}

No lo entiendo, las variables estan definidas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.725
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por joel (612 intervenciones) el 19/09/2020 20:27:28
Esos son Notice de PHP... ese puede ser el problema... que recibe los Notice por lo tanto no recibe un array!!!... ese puede ser el problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por Angel (7 intervenciones) el 19/09/2020 23:46:43
pero es que no se donde esta dicho problema. He mirado el codigo y no lo veo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.725
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por joel (612 intervenciones) el 20/09/2020 08:27:18
Cuando has mirado en la consola, los valores se envían correctamente al PHP... es como si no se enviaran... pero he revisado el código y no se ver donde puede estar el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha disminuido 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por Angel (7 intervenciones) el 20/09/2020 17:44:51
Si quito todo el codigo php y unicamente pongo json_encode($_POST) me devuelve por consola un objeto con las caracteristicas que he introducido. Sin embargo, con ese condigo me sale ese error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 2.725
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Uncaught SyntaxError: Unexpected token a in JSON at position 0 at JSON.parse (<anonymous>) a

Publicado por joel (612 intervenciones) el 20/09/2020 18:20:31
Puedes mostrar un pantallazo de lo que te devuelve... haber si veo porque te muestra los mensajes de Notice?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar