elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Como puedo aplicar JSON a esto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Como puedo aplicar JSON a esto?  (Leído 2,667 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: ¿Como puedo aplicar JSON a esto?
« en: 30 Noviembre 2019, 23:06 pm »

Buenos días,

hace poco estoy investigando sobre usar JSON ya que siempre use la manera de "delimitar los datos"

dato_1, dato_2, dato_3, etc
Se ve que con JSON es mucho mejor y es una buena practica inclusive es mejor a XML (corriganme si estoy equivocado, es todo muy nuevo para mi)

En fin la idea no es que ustedes me hagan la tarea ni nada parecido es por eso que voy a estar mostrando una función solo de prueba para que pueda entender como aplicar JSON a una función que llama a un archivo ajax.

Código
  1. // javascript
  2. function_AJAX(1, 2, 3);
  3.  

Código
  1. // function_AJAX
  2.  
  3.        function function_AJAX(a, b, c)
  4. {
  5. $.ajax({
  6. url: 'ajax/archivo_ajax.php',
  7. type: 'POST',
  8. dataType: 'html',
  9. data: {a, b, c},
  10.  
  11. success: function()
  12. {
  13. // Cuando se procese todo (bien o mal) se podrá poner acá funciones que manden mensajes algo como: "Ya se termino la solicitud wuachin" (nada relevante)
  14.  
  15. }
  16. })
  17.  
  18. .done(function(results)
  19. {
  20. $('body').append(results);
  21. })
  22. }
  23.  

Código
  1. // archivo_ajax.php
  2. echo $_POST['a'];
  3. echo $_POST['b'];
  4. echo $_POST['c'];
  5.  

No traten de entender la logica del programa, lo que me interesa es la transferencia de datos usando JSON... sobre como podría hacerlo... algo entiendo pero no veo como poder encararlo...

gracias.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Pregunta]: ¿Como puedo aplicar JSON a esto?
« Respuesta #1 en: 30 Noviembre 2019, 23:37 pm »

Código:
data: {a, b, c},

las llaves se usan para objetos, que en js son lo que en php se llaman array asociativos, es decir el par key:value... pero tu estás haciendo un arreglo y en ese caso lleva corrchetes

en tu caso si lo haces como un arreglo

Código
  1. [a,b,c]

lo recibirias con los indices 0, 1 y 2


en el caso como lo quieres estabas a medio camino de lograrlo... pasas los valores, pero no el nombre...

tienes que hacer

Código
  1. {a:a, b:b, c:c}
\

ojo, parece repetido, pero lo primero siempre lo asume como un valor y no colisiona con la variable usualmente

un ejemplo de un json mas complejo

Código
  1. {
  2.    url: 'ajax/archivo_ajax.php',
  3.    type: 'POST',
  4.    dataType: 'html',
  5.    data: {a:a, b:b, c:c},
  6.    success: function()
  7.        {
  8. // una funcion en un json
  9.        }
  10. }

ya que los parametros a las funciones de jquery y otros en js usualmente se hacen como json por comodidad


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: ¿Como puedo aplicar JSON a esto?
« Respuesta #2 en: 30 Noviembre 2019, 23:41 pm »

Código:
data: {a, b, c},

las llaves se usan para objetos, que en js son lo que en php se llaman array asociativos, es decir el par key:value... pero tu estás haciendo un arreglo y en ese caso lleva corrchetes

en tu caso si lo haces como un arreglo

Código
  1. [a,b,c]

lo recibirias con los indices 0, 1 y 2

Esta es una nueva syntaxis de javascript desde ES6. Si escribes el nombre de una variable, se expande de tal forma que la llave se llama igual que la variable y el valor es el valor de la variable.

Buenos días,

hace poco estoy investigando sobre usar JSON ya que siempre use la manera de "delimitar los datos"
Tu ruta: "ajax/archivo_ajax.php" tiene que regresar JSON.

Código
  1. echo json_encode(array_intersect_key($_POST, array_flip(['a', 'b', 'c'])));

Con jQuery vas a necesitar cambiar el dataType a 'json'.

Código
  1. {
  2.    ...
  3.    dataType: 'json',
  4.    ...
  5. }

La variable results debería ahora ser un objeto que contiene las propiedades 'a', 'b', 'c'.

Código
  1. .done(function(results)
  2. {
  3. //results.a, results.b, results.c, etc...
  4. })
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como puedo aplicar esto
Programación C/C++
mapers 1 2,142 Último mensaje 4 Agosto 2010, 07:43 am
por carlitos_jajajajaja
[Resuelto] [Pregunta]: ¿Como puedo realizar esto? « 1 2 »
PHP
Leguim 10 6,494 Último mensaje 25 Abril 2020, 05:27 am
por sirefys
[Pregunta]: ¿Cómo puedo hacer qué esto funcione?
Desarrollo Web
Leguim 2 2,960 Último mensaje 21 Mayo 2020, 11:53 am
por @XSStringManolo
[Pregunta]: ¿Como puedo hacer esto equivalente con javascript?
Desarrollo Web
Leguim 9 5,390 Último mensaje 3 Julio 2020, 09:42 am
por #!drvy
[Pregunta]: ¿Por qué y cómo puedo resolver esto?
Desarrollo Web
Leguim 4 3,628 Último mensaje 23 Julio 2020, 19:55 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines