Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gustavopinent

Questão simples ... será?

Recommended Posts

Olá.

 

Estou com uma dificuldade aparentemente simples, mas não estou achando referências na web. Preciso carregar o conteúdo de um arquivo txt do meu servidor para uma variável do javaScript. Encontrei muitas referências que tangenciam o problema: jogam o conteúdo direto para um iframe, usam um php, etc... mas não serve pra mim. Preciso realmente abrir um arquivo que está no servidor e ler o seu conteúdo usando uma variável string.

 

Já fiz isso em Flash, não entendi porque a dificuldade em JavaScript, parece tão semelhante...

 

Alguém tem alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um tópico aqui em 2003

vê se te ajuda:

http://forum.imasters.com.br/index.php...entry3682

 

 

Pelo que entendi, o javascript ele não tem como fazer o papel de jogar esse arquivo do seu seridor para o lado do cliente para que você possa manipular, então você vai ter com uma outra linguagem e de uma outra forma fazer com que esse arquivo vá para o lado do cliente para depois você conseguir abrir ele.

Pois o javascript so vai poder manipular arquivos que estejam no hd do cliente.

 

Dei so uma pesquisada pro alto, mas acho que a linha é mais ou menos essa.

 

 

 

Absss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por questões de segurança a linguagem JavaScript não possui funcionalidades para manipular arquivos externos.

O universo de manipulação de JavaScript está restrito ao DOM.

Para estes propósitos use PHP, ASP, Java ou outra linguagem de programação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, mas eu preciso justamente buscar arquivos do servidor, no mesmo domínio onde a página está hospedada, não no PC cliente. Peguei um esquema pronto em Ajax, usando XMLHttpRequest, que está funcionando. É um codigozinho considerável para algo aparentemente tão simples:

 

<script type="text/javascript">
var AjaxStatus = {
	UNINITIALIZED:0,
	LOADING:1,
	LOADED:2,
	INTERACTIVE:3,
	COMPLETE:4,
};
var Ajax = {
 request:function(url, callBack)
 {
	req = false;
	
	// Objeto nativo de XMLHttpRequest
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}
	// XHR para Internet Explorer
	} else if(window.ActiveXObject) {
	   	try
		{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		  }
		catch(e)
		{
			try
			{
				  req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
				  req = false;
			}
		}
	}
	
	
	if(req) {
		req.onreadystatechange = callBack;
		req.open("GET", url, true);
		req.send("");
	}
	else
	{
		alert('Erro XMLHttpRequest!');
	}
  }
};

window.onload = function()
{
	Ajax.request('teste_object.txt', function(){
		if(this.readyState == AjaxStatus.COMPLETE)
		{
			alert(this.responseText);
		}
	});
}
</script>

Particularmente, achei mais simples buscar um XML do que um TXT - irônico. Mas achei que XML não era o caso. Em todo o caso, vai ser uma dessas duas opções.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código que você postou é um código ajax,

 

Juro que naum passou por minha cabeça fazer isso rsss e pode ser que funcione.

 

Com ele você consegue acessar o um arquivo no servidor e mostrar o conteúdo, porém, funciona bem com linguagens de server side que retornam uma string ou XML, eu particularmente não tentei acessar outro tipo de arquivo como um txt ou doc como teste para ver o que ele retornaria.

 

Essa linha aqui "this.responseText" retorna uma string como resultado da cpnsulta a url que esta o arquivo , caso queira retornar um xml substitua por "this.responseXML"

 

absss

Compartilhar este post


Link para o post
Compartilhar em outros sites

A contribuição do carutcho foi interessante. Com estes dois métodos é possível ler txt ou xml, mas se for outro tipo de arquivo, ele nããããão lê! É só XML e texto com suas respectivas extensões. Porém, funciona muito bem, passou nos testes até agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.