当前位置:  开发笔记 > 编程语言 > 正文

使用jQuery读/写文件

如何解决《使用jQuery读/写文件》经验,为你挑选了6个好方法。

有没有办法让jQuery从文件中获取信息?可能吗?怎么样?



1> Paolo Bergan..:

不,JavaScript没有写文件的权限,因为这至少可以说是一个巨大的安全风险.但是,如果你想在服务器端获取/存储信息,你当然可以对PHP/ASP/Python /等进行Ajax调用.然后可以在服务器中获取/存储数据的脚本.如果您的意思是在客户端计算机上存储数据,那么仅使用JavaScript是不可能的.我怀疑Flash/Java可能会,但我不确定.

如果您只是尝试在特定用户的不可靠时间段内存储少量信息,我认为您需要Web Storage API或cookie.不过,我不确定你的问题是什么.


当然,Cookie会起作用,但是对于支持HTML5本地存储的大多数现代浏览器,我会走这条路.这是一个很好的工作指南:http://diveintohtml5.org/storage.html
@ChrisJaynes - 这个链接坏了,我想你想要这个:[http://diveintohtml5.info/storage.html](http://diveintohtml5.info/storage.html)

2> ja...:

对的,这是可能的.

该技术如下所述

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



3> Javier..:

HTML5和Google Gears都主要通过嵌入式SQLite API添加本地存储功能.



4> Eric Leschin..:

使用javascript的execCommand('SaveAs', false, filename);功能

编辑:不再有效.此Javascript函数曾用于所有浏览器,但现在仅在IE上,由于浏览器安全性的考虑.它向通过浏览器运行此功能的用户提供了"另存为"对话框,用户按OK,文件在服务器端通过javascript保存.

现在这个代码是一个罕见的古董零日收藏品.

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

像这样调用函数:

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



5> jonstjohn..:

您需要通过Web编程语言(如PHP或ASP.net)处理文件访问.

要设置它,你会:

创建一个处理文件读写的脚本.这应该对浏览器可见.

将jQuery ajax请求发送到该脚本,该脚本可以写入数据或读取数据.您需要通过请求参数传递所有读/写信息.您可以在jQuery ajax文档中了解更多相关信息.

确保您清理正在存储的任何数据,因为这可能存在安全风险.但是,这实际上只是标准的平面文件数据存储,并不一定是那么不寻常.

正如Paolo指出的那样,没有办法通过jQuery或任何其他类型的javascript直接读/写文件.



6> Clyde..:

Cookies是你最好的选择.寻找jquery cookie插件.

Cookie是针对这种情况而设计的 - 您希望在客户端保留有关此客户端的一些信息.请注意,Cookie会在每个Web请求中来回传递,因此您无法在其中存储大量数据.但只是一个问题的简单答案应该没问题.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有