• Ir al contenido
  • Ir a la navegación
  • Ir al buscador
 
Portada Boludo
ING English  |  ES Spanish
Directorio WAP para móvil, Tablet, iPhone o Smartphone

Blog de Sergio Aleman

Categorías

 

Inicio  |  Contacto  |  Posts  |  TIENDA PUBLISHOP  |  Sobre nosotros  |  Registro y Planes  |  Pagos  |  Donaciones

Ver Código QR de esta página



Campaña #AyudemosaYuli  |  Campaña #AyudemosaStephany.  |  ¿Interesado(a) en cursos y resolución de ejercicios de materias prácticas? Para más información, contáctenos por: Teléfono: +58 (412) - 8226575. WhatsApp y Telegram: +58 (412) - 8226575 o escriba al correo: [email protected]. Únete al grupo: SISTEMAS (UDOMO).

[»] **Musica para tu celular

WEB TRANSLATOR

LINK for English Language

Use this link for translate into English


+ Buscar en SergioAleman

 

De JSON a PHP (utilizando la función json_decode)

Tweet
 

domingo julio 10, 2016

24 - De JSON a PHP (utilizando la función json_decode)


Ahora nos queda ver como en el servidor recibir datos con formato JSON y proceder a generar una clase en PHP mediante la función json_decode.

La sintaxis es:

$cad=json_decode(stripslashes($_REQUEST['cadena']));
echo 'Nombre:'.$cad->nombre;
...
...

Es decir la función json_decode recibe como parámetro una cadena con datos codificados en JSON y procede a retornar la información en un objeto.

Confeccionaremos un problema que envíe desde el navegador información en formato JSON y en el servidor la convertiremos en un objeto de PHP y procederemos a generar un trozo de HTML que retornaremos al navegador para que lo muestre.

El archivo pagina1.html

addEventListener('load',inicializarEventos,false);

function inicializarEventos()
{
  var ref=document.getElementById('boton1');
  ref.addEventListener('click',botonPresionado,false);
}

function botonPresionado(e)
{
  var obj={
    nombre:'juan',
    edad:25,
    sueldos:[1200,1700,1990]
  };
  var cadena=JSON.stringify(obj);
  enviarDatos(cadena);
}

var conexion1;
function enviarDatos(cadena) 
{
  conexion1=new XMLHttpRequest();
  conexion1.onreadystatechange = procesarEventos;
  conexion1.open('GET','pagina1.php?cadena='+cadena, true);
  conexion1.send(null);
}

function procesarEventos()
{
  var resultados = document.getElementById("resultados");
  if(conexion1.readyState == 4)
  {
    resultados.innerHTML = conexion1.responseText;
  } 
  else 
  {
    resultados.innerHTML = "Cargando...";
  }
}

Cuando se presiona el botón procedemos a partir de un objeto JavaScript generar una cadena en formato JSON, luego procedemos a llamar a la función enviarDatos:

function botonPresionado(e)
{
  var obj={
    nombre:'juan',
    edad:25,
    sueldos:[1200,1700,1990]
  };
  var cadena=JSON.stringify(obj);
  enviarDatos(cadena);
}

La función enviarDatos procede a crear un objeto de la clase XMLHttpRequest y pasa mediante el parámetro GET la cadena en formato JSON:

var conexion1;
function enviarDatos(cadena) 
{
  conexion1=new XMLHttpRequest();
  conexion1.onreadystatechange = procesarEventos;
  conexion1.open('GET','pagina1.php?cadena='+cadena, true);
  conexion1.send(null);
}

Solo queda mostrar el trozo de datos en HTML que retorna el servidor:

function procesarEventos()
{
  var resultados = document.getElementById("resultados");
  if(conexion1.readyState == 4)
  {
    resultados.innerHTML = conexion1.responseText;
  } 
  else 
  {
    resultados.innerHTML = "Cargando...";
  }
}

Lo nuevo se centra en el archivo pagina1.php:

<?php

$cad=json_decode(stripslashes($_REQUEST['cadena']));

echo 'Nombre:'.$cad->nombre;
echo '<br>';
echo 'Edad:'.$cad->edad;
echo '<br>';
echo 'Primer sueldo:'.$cad->sueldos[0];
echo '<br>';
echo 'Segundo sueldo:'.$cad->sueldos[1];
echo '<br>';
echo 'Tercer sueldo:'.$cad->sueldos[2];
?>

La función que convierte una cadena con formato JSON en un objeto de PHP es:

$cad=json_decode(stripslashes($_REQUEST['cadena']));

Recordemos que con la función stripslashes sacamos los caracteres de escape(barras invertidad para las comillas entre otras)

Luego podemos fácilmente acceder a los atributos del objeto con la sintaxis:

echo 'Nombre:'.$cad->nombre;
echo '<br>';
echo 'Edad:'.$cad->edad;
echo '<br>';
echo 'Primer sueldo:'.$cad->sueldos[0];
echo '<br>';
echo 'Segundo sueldo:'.$cad->sueldos[1];
echo '<br>';
echo 'Tercer sueldo:'.$cad->sueldos[2];


Problema resuelto.


Confeccionar un problema que envíe desde el navegador información en formato JSON y en el servidor convertirla en un objeto de PHP y proceder a generar un trozo de HTML que retorne al navegador para que lo muestre.


pagina1.html



Ejecutar ejemplo



funciones.js




pagina1.php


Retornar

— @SergioAleman1

— Síguenos en Twitter@SergioAleman1

— @bolUDOoficial

— Síguenos en Twitter@bolUDOoficial

Categorías: #Ajax, #


[0] Atrás | Directorio
« Inicio

Apps Infoudo
Apps Infoudo ¡Descarga el icono directo en el menú de tu equipo!
[»] Las mejores Apps para tu celular
[»] Imágenes Gratis


Comenta o lee lo que otros opinan

COMPÁRTELO:

Indica que te gusta y comparte

Me Gusta :)Facebook Tuiteame :)Twitter .WhatsApp .Telegram . LinkedIn


También te puede interesar:

Validación de la existencia de un nombre de usuario en forma asincrónica (AJAX)
Pizarra interactiva multiusuario
De JSON a JavaScript (utilizando utilizando la función parse)
De JavaScript a JSON (utilizando la función stringify del objeto JSON)
De PHP a JSON (utilizando la función json_encode)
Recuperar datos del servidor en formato JSON
Qué es JSON?
Encuenta con AJAX
Autocompletar un control de tipo text
Mostrar un tooltip con datos recuperados del servidor en forma asincrónica

Ver Todas Las Páginas Relacionadas

« De JSON a JavaScript (utilizando utilizando la función parse)  |  Pizarra interactiva multiusuario »
 
Apps Infoudo
 
Buscador:
Powered by Google:


Web móvil
Imágenes
La Web

 

Síguenos por RSS


Puedes leerlos mediante el navegador Firefox, lectores de noticias en la computadora o el móvil o usando el servicio de Feedburner de Google para recibir las notificaciones por correo electrónico.
RSS - Suscribirse usando Feedburner de Google

email Recibir las nuevas publicaciones de SergioAleman por email

Atom


»Ir a URL
.....
Registra Gratis Tu Negocio
....
Sugerir un nuevo sitio WAP

...
¡Bloguea Ya!

..
Registro de Profesionales(Abogados, escritores, doctores, licenciados, ingenieros, etc.)
.
Soporte

Síguenos en las redes sociales

Síguenos en Facebook facebook.com/boludooficial Síguenos en Twitter @bolUDOoficial Síguenos en Instagram @boludooficial Síguenos en Telegram t.me/Boludooficial
Síguenos en WhatsApp BolUDOoficial Síguenos en YouTube youtube.com/@boludo.oficial
Síguenos en Facebook facebook.com/SergioAlemanOficial Síguenos en Twitter @SergioAleman1 Síguenos en Instagram @alemansergio
Síguenos en Threads @alemansergio
Síguenos en WhatsApp wa.me/qr/Y7Q232VLZPR5O1 Síguenos en Tiktok @alemansergio
Síguenos en Telegram t.me/SergioAlemanOficial Síguenos en YouTube youtube.com/@sergioaleman
Síguenos en Facebook facebook.com/INFOUDO.OFICIAL Síguenos en Twitter @infoudomon Síguenos en Instagram @infoudooficial Síguenos en Telegram t.me/Infoudooficial
Síguenos en Facebook facebook.com/tuinfou Síguenos en Twitter @infoudomonagas
Síguenos en WhatsApp INFO UDO Síguenos en YouTube youtube.com/@infoudooficial

Mis cuentas sociales

FB
Twitter
Pinterest
Instagram
Canales RSS con las últimas publicaciones
Otras  |  Linktree

Móvil: 0412 8226575 - E-mail: [email protected] - [email protected] - WhatsApp: +58 (0412) 822.65.75


Copyscape
Volver arriba

Protocolo  |  Mapa del Sitio  |  Report Abuse - DMCA  |  Términos y Condiciones  |  Ayuda  |  Privacidad de Datos  |  Política de Cookies  |  Reportar un bug  |  Licencia: CC BY-NC-ND 3.0

Copyright ©2023 SergioAleman. Todos los derechos reservados. Diseñado, desarrollado, administrado y mantenido por Sergio Alemán Mi perfil en GitHub


SUBIR