AS3 – Enviar Datos en Raw a un JSON

Publicado por Iván Gajate el 4 de noviembre de 2011 en AS3, Flash

En lugar de enviar los datos en forma de variable a un PHP, podemos enviarlos en la propia llamada al archivo, para leer luego los datos en bruto (“raw”). Esto se suele utilizar para cargar imágenes, pero también puede usarse con variables de texto, o JSON como en este caso.

La diferencia es que no le asigno el valor de lo que quiero enviar a ninguna variable, sino que se lo asigno directamente al data del URLRequest:

var req:URLRequest = new URLRequest("http://localhost/leer_raw.php");
req.method = URLRequestMethod.POST;

var usu1:Object = {nombre:"Iván"};
var usu2:Object = {nombre:"Pepe"};
var usu3:Object = {nombre:"Matías"};

var usuarios:Array = [usu1, usu2, usu3];

// Codifico el Array en formato JSON
var json:String = JSON.encode(usuarios);

// Le asigno esos datos directamente al data del request.
req.data = json;

var loader:URLLoader = new URLLoader();
loader.load(req);

En el PHP puedo acceder al raw de datos directamente y asignárselo a una variable.

<?php
	// Accedo al RAW de datos directamente,
	// no a una variable con un nombre y un valor
	$datos = file_get_contents("php://input");
	// Decodifico los datos JSON para tratarlos como un Array
	$json = json_decode($datos, true);
	echo('nombre=' . $json[0]['nombre']);
?>

Nota: Hay que subir el ejemplo a un servidor que interprete PHP para poder ver los resultados.

Descargar Ejemplo.

 

Los comentarios están cerrados.