Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como leo en PHP datos recibidos por JSONP (desde otro servidor)

Estas en el tema de Como leo en PHP datos recibidos por JSONP (desde otro servidor) en el foro de PHP en Foros del Web. Esto haciendo pruebas en localhost de envio de datos a través de JSONP (JSON a servidores externos). Y tengo esto en el botón en JQuery: ...
  #1 (permalink)  
Antiguo 19/02/2015, 04:05
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Como leo en PHP datos recibidos por JSONP (desde otro servidor)

Esto haciendo pruebas en localhost de envio de datos a través de JSONP (JSON a servidores externos). Y tengo esto en el botón en JQuery:

Código:
// misdatos es un array pasado a JSON para poderse enviar.
var misdatos = JSON.stringify(elementos);

$.ajax({
   url : 'http://127.0.0.1/recibo/recibo.php',
   data: misdatos,
   dataType: 'JSONP',
   jsonpCallback: 'callback'
});

Al pulsar un botón envío los datos JSON, y en la depuración de chrome, veo todos los datos encapsulados en una funcion callback, o bueno, puedo poner el nombre que yo quiera en el envio de ajax para cambiar el nombre de la funcion.

El problema que tengo es que no se como recibir los datos en PHP.
Si pongo echo $_GET['callback'] me devuelve un 1.

Lo que me gustaria es desglosar el contenido enviado. De momento poderlos ver aunque sea.

Un saludo!
  #2 (permalink)  
Antiguo 19/02/2015, 05:20
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Como leo en PHP datos recibidos por JSONP (desde otro servidor)

Como siempre....

Prueba esto:

Código PHP:
echo '<pre>'.print_r($_GETtrue).'</pre>'
Y en chrome, si ves la respuesta del php, verás toooodos los datos que mandas por GET...

Creo que así lo verás mejor, que si te digo como (y q te servirá para en un futuro depurarlo tu sólo!)

Saludos
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 19/02/2015, 05:30
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Como leo en PHP datos recibidos por JSONP (desde otro servidor)

Parezco tontuco. Perfecto.
Me quedarían hacer unos arreglillos en ese $GET, pero con substr lo soluciono.
  #4 (permalink)  
Antiguo 19/02/2015, 06:53
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Como leo en PHP datos recibidos por JSONP (desde otro servidor)

Ummm, estoy viendo lo que he recibido en $GET.
He recibo un array asociativo de 3 indices.

Código:
callback => callback
postData => [("campo1":"valor1","campo2":"valor2"),("campo1":"valor1","campo2":"valor2")]
_ => id del JSONP.
Haciendo un foreach he sacado el contenido de psotData, que es el que me interesa, pero no es un array, si no un string de texto.

Estoy un poco perdido con la sintaxis de PHP. ¿Se puede ir recorriendo ese string e ir sacando cada campo y valor, y metiendolo en un array vacio con un formato correcto?
  #5 (permalink)  
Antiguo 19/02/2015, 08:17
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Como leo en PHP datos recibidos por JSONP (desde otro servidor)

La cosa es... q es "elementos" xD

Puedes probar haciendo esto

Código PHP:
Ver original
  1. $postData = $_GET['postData'];
  2. $postDataArray = json_decode($postData);
  3.  
  4. echo '<pre>'.print_r($postDataArray, true).'</pre>';

Creo que te valdrá
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 19/02/2015, 09:38
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Como leo en PHP datos recibidos por JSONP (desde otro servidor)

Jajajaja. "elementos" es un array que almacena campos y valores de una cantidad indeterminada de registros. Puede ser 1, o 5, o 20.

Ya he montado un cristo bueno en PHP para descomponerlo todo y componerlo como yo quiero. Seguro que se puede optimizar el proceso o la forma de hacerlo, pero voy aprendiendo poco a poco.

Digamos que de esto (con todos los simbolos que se ven):

Código:
postData = [("id":"1","nombre":"Juan","apellido1":"Palomo","edad":"30"),("id":"2","nombre":"Benito","apellido1":"Lopera","edad":"22")]
He conseguido crear un archivo SQL asi (con todos los simbolos que se ven:

Código:
INSERT INTO ficha (`id`,`nombre`,`apellido1`,`edad`) values (1,"Juan","Palomo",30);
INSERT INTO ficha (`id`,`nombre`,`apellido1`,`edad`) values (2,"Benito","Lopera",22);
Para su posterior uso.

Etiquetas: Ninguno
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 20:09.