Leer / escribir en el archivo usando jQuery

¿Hay alguna manera de obtener jQuery para obtener información desde y hacia un archivo? ¿Es posible? ¿Cómo?

No, JavaScript no tiene acceso a los archivos de escritura ya que esto sería un gran riesgo de seguridad por decir lo menos. Sin embargo, si desea obtener / almacenar información del lado del servidor, puede hacer una llamada de Ajax a PHP / ASP / Python / etc. secuencia de comandos que luego puede obtener / almacenar los datos en el servidor. Si quería decir almacenar datos en la máquina del cliente, esto es imposible solo con JavaScript. Sospecho que Flash / Java podría, pero no estoy seguro.

Si solo está tratando de almacenar una pequeña cantidad de información durante un período de tiempo poco confiable con respecto a un usuario específico, creo que desea la API de almacenamiento web o las cookies. Sin embargo, no estoy seguro de su pregunta sobre lo que está tratando de lograr.

Sí, es posible.

La técnica se describe a continuación

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

tanto HTML5 como Google Gears agregan capacidades de almacenamiento local, principalmente mediante una API SQLite incorporada.

Esta función de Javascript presenta un cuadro de diálogo “Guardar como” para el usuario que ejecuta esta función a través de su navegador. El usuario presiona OK y el archivo se guarda en el servidor.

Esto solía funcionar con todos los navegadores, pero ahora solo funciona con IE. El siguiente código es un riesgo para la seguridad, si JavaScript puede guardar datos en el lado del servidor, un pirata informático de cross-site podría ser el propietario de sus servidores. Firefox y Chrome han tapado el agujero, pero IE aún no lo ha hecho.

// 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; } 

Invoca la función de esta manera:

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

Necesitará manejar su acceso a archivos a través del lenguaje de progtwigción web, como PHP o ASP.net.

Para configurar esto, usted:

  • Cree un script que maneje la lectura y escritura del archivo. Esto debería ser visible para el navegador.

  • Envíe solicitudes jQuery ajax a ese script que escriba datos o lea datos. Debería pasar toda su información de lectura / escritura a través de los parámetros de solicitud. Puede obtener más información sobre esto en la documentación jQuery ajax.

Asegúrese de desinfectar los datos que está almacenando, ya que esto podría ser un riesgo de seguridad. Sin embargo, esto es realmente solo el almacenamiento de datos estándar de archivos planos, y no es necesariamente tan inusual.

Como señaló Paolo, no hay forma de leer / escribir directamente en un archivo a través de jQuery o cualquier otro tipo de javascript.

Las cookies son tu mejor apuesta. Busque el plugin de la cookie jquery.

Las cookies están diseñadas para este tipo de situaciones: desea mantener cierta información sobre este cliente en el lado del cliente. Solo tenga en cuenta que las cookies se transfieren de un lado a otro en cada solicitud web, por lo que no puede almacenar grandes cantidades de datos allí. Pero solo una respuesta simple a una pregunta debería estar bien.

Si desea hacer esto sin un montón de procesamiento en el lado del servidor dentro de la página, podría ser una idea factible soplar el valor del texto en un campo oculto (usando PHP). Luego puede usar jQuery para procesar el valor del campo oculto.

Lo que te venga bien 🙂