Foros del Web » Programando para Internet » Javascript » Frameworks JS »

mi primer ajax

Estas en el tema de mi primer ajax en el foro de Frameworks JS en Foros del Web. 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: ...
  #1 (permalink)  
Antiguo 26/05/2009, 03:23
Avatar de 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
  #2 (permalink)  
Antiguo 26/05/2009, 10:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: mi primer ajax

Hola:

La ruta de un archivo, por más que algunos controles del tipo file los muestra, es algo inaccesible desde javascript (la eterna pregunta recurrente).

Tienes muchas opciones para usar ajax, incluso el sistema de archivos del server mediante los lenguajes del servidor, pero la raíz de ese sistema de archivos sería /localhost/ (o la raíz del dominio que quieras.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 00:04.