
Chizpa
Actualmente estoy construyendo un sitio que debería poder funcionar como una especie de navegador ftp. Básicamente, lo que tengo es un servidor ftp con algunas imágenes.
Lo que no puedo entender es: si navego a este sitio ftp, puedo ver la fuente del sitio ftp (como se ve en algún navegador), lo que necesito es guardar esa fuente de alguna manera en una cadena (usando javascript ).
La razón es que haré una especie de navegador de ‘imágenes’. Planeo lograr eso leyendo la fuente en una cadena, luego copio todas las fuentes de imágenes y uso innerHTML para crear un nuevo diseño.
En resumen: quiero leer información de una url y mostrarla de una manera diferente.
Bueno, parece que no puede hacerlo funcionar. El problema podría ser que no puedo usar secuencias de comandos del lado del servidor. Sin embargo, ¿sería posible colocar un archivo en el servidor ftp que pueda cargar y que pueda cargar dinámicamente los datos en la misma carpeta? (cuando digo FTP me refiero a un servidor NAS con acceso FTP).

niels
Tu respuesta es Ajax. Puede ENVIAR y OBTENER datos de una URL, al igual que navegar por un sitio web, y devolverá el HTML como una cadena.
Si planeas usar jQuery (realmente práctico), es fácil de usar Ajax. Como este ejemplo (no funciona sin la biblioteca):
$.ajax({
url : "/mysite/file.html",
success : function(result){
alert(result);
}
});
Si desea utilizar Javascript predeterminado, eche un vistazo a http://www.w3schools.com/ajax/default.asp
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "ajax_info.txt", true);
xmlhttp.send();
EN Javascript para obtener datos sin usar alert() :
$.ajax({
url : "/mysite/file.html",
async:false, //this is the trick
success : function(result){
//does any action
}
});

vzwick
No hay mucho que añadir a lo que han dicho Niels y rich.okelly. AJAX es tu camino a seguir.
Sin embargo, tenga en cuenta que las restricciones entre dominios le prohibirán acceder a datos que no estén en el mismo dominio. Encontrará una posible solución aquí.

qwr
Basado en promesas modernas Obtener API solución (no más XMLHttpRequest o jQuery.ajax()
):
fetch('data.txt')
.then(response => response.text())
.then(data => console.log(data));
Ejemplo usando async/await:
async function myFetch() {
let response = await fetch('data.txt');
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
let text = await response.text(); // await ensures variable has fulfilled Promise
console.log(text);
}
¿Está utilizando algún tipo de marco? ¿Es decir, jQuery?
– vzwick
19 de noviembre de 2011 a las 22:12
“si navego a este sitio ftp, puedo ver la fuente del sitio ftp”: lo que ve es algo de HTML generado por el navegador basado en la lista del directorio, no ve lo que envía el sitio en sí.
– Quintín
20 de noviembre de 2011 a las 8:45