Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Error con JSON, php y mysql al mostrar datos en tiempo real

Estas en el tema de Error con JSON, php y mysql al mostrar datos en tiempo real en el foro de Jquery en Foros del Web. Hola estoy intentando tomar datos de una DB en MySql que se encuentra en un archivo datossensor.php con JSON pero tengo dos errores y e ...
  #1 (permalink)  
Antiguo 29/04/2020, 17:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 11 meses
Puntos: 1
Pregunta Error con JSON, php y mysql al mostrar datos en tiempo real

Hola estoy intentando tomar datos de una DB en MySql que se encuentra en un archivo datossensor.php con JSON pero tengo dos errores y e intentado de todo y nada.

El codigo:

datossensor.php
Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: application/json');
  3. $pdo=new PDO("mysql:dbname=admin_expertiot;host=expertosiot.ml","admin_expertiot","sim495975");
  4. switch($_GET['q']){
  5.         // Buscar Último Dato
  6.         case 1:
  7.           $statement=$pdo->prepare("SELECT data_temp FROM data ORDER BY data_id DESC LIMIT 0,1");
  8.             $statement->execute();
  9.             $results=$statement->fetchAll(PDO::FETCH_ASSOC);
  10.             $json=json_encode($results);
  11.             echo $json;
  12.         break;
  13.         // Buscar Todos los datos
  14.         default:
  15.  
  16.             $statement=$pdo->prepare("SELECT humedad,temperatura FROM tblsensores ORDER BY id ASC");
  17.             $statement->execute();
  18.             $results=$statement->fetchAll(PDO::FETCH_ASSOC);
  19.             $json=json_encode($results);
  20.             echo $json;
  21.         break;
  22.  
  23. }
  24. ?>

Codigo donde del archivo donde llamo a los datos.
Código Javascript:
Ver original
  1. setInterval(function() {
  2.   var JSON=$.ajax({
  3.                 url:"https://18.230.40.218/datossensor.php?q=1",
  4.                 dataType: 'json',
  5.                 async: false}).responseText;
  6.   var Respuesta = jQuery.parseJSON(JSON);
  7.     hand.showValue(Respuesta[0].data_temp, 1000, am4core.ease.cubicOut);
  8. }, 1000);

Los errores por consola son estos:

Código:
jquery.js:8630 GET https://18.230.40.218/datossensor.php?q=1 net::ERR_CERT_COMMON_NAME_INVALID
send	@	jquery.js:8630
ajax	@	jquery.js:8166
(anonymous)	@	dashboard-test.php:578
setInterval (async)		
(anonymous)	@	dashboard-test.php:577
e	@	core.js:1
Código:
Uncaught SyntaxError: Unexpected token u in JSON at position 0          VM8945:1 
    at JSON.parse (<anonymous>)
    at Function.jQuery.parseJSON (jquery.js:7522)
    at dashboard-test.php:582
jQuery.parseJSON @ jquery.js:7522
(anonymous) @ dashboard-test.php:582
setInterval (async)
(anonymous) @ dashboard-test.php:577
e @ core.js:1
  #2 (permalink)  
Antiguo 29/04/2020, 19:36
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Error con JSON, php y mysql al mostrar datos en tiempo real

El certificado de seguridad del sitio es inválido, cambia de https a http a ver si con eso se corrige.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/04/2020, 20:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Error con JSON, php y mysql al mostrar datos en tiempo real

Me sale eso cuando cambio de https a http
Código:
Mixed Content: The page at 'https://expertosiot.ml/dashboard-test.php' was loaded over HTTPS, 
but requested an insecure XMLHttpRequest endpoint 
'http://18.230.40.218/datossensor.php'. This request has been blocked; the content must be served over HTTPS.
  #4 (permalink)  
Antiguo 29/04/2020, 21:02
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Error con JSON, php y mysql al mostrar datos en tiempo real

Lo he solucionado muchas gracias Triby, porque gracias a tus palabras me orientaste y se me ocurrio cambiar la direccion url directamente la puse asi.

Código:
setInterval(function() {
  var JSON=$.ajax({
                url:"datossensor.php",
                dataType: 'json',
                async: false}).responseText;
  var Respuesta = jQuery.parseJSON(JSON);
  var iNum = parseInt(Respuesta[0].data_temp);
  console.log(iNum);
    hand.showValue(iNum, 1000, am4core.ease.cubicOut);
}, 1000);

Etiquetas: json, mysql, php, real, tiempo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:17.