Leitura / gravação no arquivo usando jQuery

Existe uma maneira de obter o jQuery para obter informações para e de um arquivo? É possível? Como?

Não, o JavaScript não tem access à gravação de arquivos, pois isso seria um enorme risco de segurança, para dizer o mínimo. Se você quisesse obter / armazenar informações do lado do servidor, você certamente poderia fazer uma chamada Ajax para um PHP / ASP / Python / etc. script que pode, então, obter / armazenar os dados no servidor. Se você quis dizer armazenar dados na máquina cliente, isso é impossível apenas com JavaScript. Eu suspeito Flash / Java pode ser capaz, mas não tenho certeza.

Se você está apenas tentando armazenar uma pequena quantidade de informações por um período de tempo não confiável com relação a um usuário específico, acho que você deseja cookies ou API de armazenamento da Web . Eu não tenho certeza da sua pergunta o que você está tentando realizar, no entanto.

Sim, é possível.

A técnica é descrita abaixo

http://jquery.tiddlywiki.org/twFile.html

O HTML5 e o Google Gears adicionam resources de armazenamento local, principalmente por meio de uma API do SQLite incorporada.

Esta function Javascript apresenta uma checkbox de diálogo “Salvar como” para o usuário que executa essa function por meio de seu navegador. O usuário pressiona OK e o arquivo é salvo no lado do servidor.

Isso costumava funcionar com todos os navegadores, mas agora só funciona com o IE. O código a seguir é um risco de segurança, se o javascript puder salvar dados no lado do servidor, um hacker de script entre sites poderá ter seus servidores. O Firefox e o Chrome ligaram o buraco, mas o IE ainda não o fez.

// content is the data (a string) you'll write to file. // filename is a string filename to write to on server side. // This function uses iFrame as a buffer, it fills it up with your content // and prompts the user to save it out. function save_content_to_file(content, filename){ var dlg = false; with(document){ ir=createElement('iframe'); ir.id='ifr'; ir.location='about.blank'; ir.style.display='none'; body.appendChild(ir); with(getElementById('ifr').contentWindow.document){ open("text/plain", "replace"); charset = "utf-8"; write(content); close(); document.charset = "utf-8"; dlg = execCommand('SaveAs', false, filename); } body.removeChild(ir); } return dlg; } 

Invoque a function assim:

 msg = "I am the president of tautology club."; save_content_to_file(msg, "C:\\test"); 

Você precisará manipular seu access a arquivos através da linguagem de programação da Web, como PHP ou ASP.net.

Para configurar isso, você deveria:

  • Crie um script que manipule o arquivo lendo e escrevendo. Isso deve ficar visível para o navegador.

  • Envie solicitações ajax do jQuery para o script que grava dados ou lê dados. Você precisaria passar todas as suas informações de leitura / gravação por meio dos parâmetros de solicitação. Você pode aprender mais sobre isso na documentação do ajax do jQuery.

Certifique-se de limpar todos os dados que você está armazenando, pois isso pode ser um risco à segurança. No entanto, isso é realmente apenas armazenamento de dados de arquivo plano padrão e não é necessariamente tão incomum.

Como Paolo apontou, não há como ler / gravar diretamente em um arquivo através do jQuery ou qualquer outro tipo de javascript.

Os cookies são sua melhor aposta. Procure o plugin do cookie jquery.

Os cookies são projetados para esse tipo de situação – você deseja manter algumas informações sobre esse cliente no lado do cliente. Esteja ciente de que os cookies são passados ​​de um lado para o outro em todas as solicitações da Web, para que você não possa armazenar grandes quantidades de dados nele. Mas apenas uma resposta simples para uma pergunta deve estar bem.

Se você quiser fazer isso sem um monte de processamento do lado do servidor dentro da página, pode ser uma idéia viável para soprar o valor do texto em um campo oculto (usando PHP). Então você pode usar o jQuery para processar o valor do campo oculto.

Faça como quiser 🙂