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ó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