Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2009, 03:23
Avatar de Freakme
Freakme
 
Fecha de Ingreso: julio-2007
Ubicación: Portugalete
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 0
mi primer ajax

Espero que alguien pueda echarme una mano, vereis estoy probando a conseguir la ruta de un directorio, es decir, quiero conseguir la dirección, por ejemplo: "C:/archivos/carpeta" para después poder hacer cosa con esa carpeta.
La cuestión es que no lo consigo, creo que me falla el json, pero es que no sé qué hago mal...

html:
Código:
<html>
  <head>
    <title>New Document</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <link href="css.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="ajax.js"></script>
  </head>
  <body>
    Elegir directorio: <input type='file' name='archivo' id='archivo' onChange="traerDatos('ruta')" />
    <div id="demoArr">Datos cargados asincr&oacute;nicamente</div>
  </body>
</html>
javascript
Código:
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}

function traerDatos(tipoDato)
{
 	ruta=document.getElementById("archivo").value;
        dir=JSON.parse(ruta);
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById("demoArr");
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", "accion.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("directorio="+dir);

	ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
		 if (ajax.status==400)
		 	{
			capa.innerHTML="solicitud incorrecta";
			}
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capa.innerHTML=ajax.responseText;
		}
	}
}
Código:
php
<?php
include ('json.php');
$directorio=$_POST[directorio];
$objeto_json=new Services_JSON();
$ruta=$objeto_json->decode($directorio);
echo "Ruta: $ruta";
?>
Gracias, un saludo :D