Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/12/2013, 06:41
DandyCC
 
Fecha de Ingreso: junio-2012
Mensajes: 147
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Envío y recepción de datos entre JS y PHP con AJAX y JSON

He encontrado un error con la consola pero no soy capaz de solucionarlo. El envío con ajax en JS funciona bien, la página php recibe correctamente los datos. El error está en la decodificación en JS del json recibido del php.

La llamada, simplificada todo lo que he podido, queda:

Código Javascript:
Ver original
  1. var parametros = {
  2.     "idcomentario" : 114,
  3.     "iduser" : 1
  4. };
  5. $.ajax({
  6.     type: "POST",
  7.     data: parametros,
  8.     url: 'consulta.php',
  9.     success: function(data) {
  10.         var res = jQuery.parseJSON(data);
  11.         alert("success");
  12.     },
  13.     error: function(e) {
  14.         alert("error");
  15.     }
  16. });

consulta.php devuelve esto

Código PHP:
Ver original
  1. $respuesta = array (
  2.     "success" => 1,
  3.     "error" => 0,
  4.     "msg" => ""
  5. );
  6. echo json_encode($respuesta);

Y en la consola aparece el siguiente mensaje: "SyntaxError: JSON.parse: unexpected character". Busco el json recibido y aparece en la consola esto:
{"success":1,"error":0,"msg":""}

El JSON parece bien formado, pero he ido a http://jsonlint.com/ y lo da como no válido: "JSON.parse: unexpected character".

Y para acabar de romperme la cabeza, si en el navegador entro en consulta.php aparece:
{"success":1,"error":0,"msg":""}

Que es exactamente lo mismo que dice la consola que recibo de la llamada ajax. Voy otra vez a validarlo y me dice que el JSON es válido.

Que desesperación!! Si alguien me puede echar una mano le estaría muy agradecido porque ya no sé por donde buscar la solución.