Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery读取/写入文件_Jquery_File - Fatal编程技术网

使用jQuery读取/写入文件

使用jQuery读取/写入文件,jquery,file,Jquery,File,有没有一种方法可以让jQuery从文件中获取信息?可能吗?怎么写?不,JavaScript没有写入文件的权限,至少可以说这会带来巨大的安全风险。但是,如果您想在服务器端获取/存储信息,您当然可以对PHP/ASP/Python/etc.脚本进行Ajax调用,然后在服务器中获取/存储数据。如果您的意思是在客户机上存储数据,那么仅使用JavaScript是不可能的。我怀疑Flash/Java可能能够,但我不确定 如果您只是试图在一段不可靠的时间内存储一小部分关于特定用户的信息,我认为您需要或cooki

有没有一种方法可以让jQuery从文件中获取信息?可能吗?怎么写?

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


如果您只是试图在一段不可靠的时间内存储一小部分关于特定用户的信息,我认为您需要或cookie。不过,从你的问题来看,我不确定你想要实现什么。

饼干是你最好的选择。寻找jquerycookie插件


Cookie是为这种情况设计的-您希望在客户端保留有关此客户端的一些信息。请注意,Cookie在每个web请求上来回传递,因此您不能在其中存储大量数据。但是,只要简单地回答一个问题就可以了。

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

要设置此选项,您需要:

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

向该脚本发送jqueryajax请求,该脚本可以写入数据,也可以读取数据。您需要通过请求参数传递所有读/写信息。您可以在jQueryAjax文档中了解更多关于这方面的信息

确保对存储的任何数据进行清理,因为这可能会带来安全风险。然而,这实际上只是标准的平面文件数据存储,并不一定非同寻常


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

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

如果您想在页面中不进行大量服务器端处理的话,使用PHP将文本值吹到隐藏字段中可能是一个可行的想法。然后可以使用jQuery处理隐藏字段值

无论什么能让你的船漂浮:

是的,这是可能的

下面描述该技术

使用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;
}
按如下方式调用函数:


你不能在HTML中写一个字段的答案吗?那不再是真的了。但通过javascript可以访问的内容仅限于用户允许的内容。出于安全原因,沙箱阻止直接访问文件。您可以使用HTML5文件API允许用户从文件对话框中选择文件。当然,Cookie可以工作,但对于大多数支持HTML5本地存储的现代浏览器,我会这样做。下面是一个很好的工作指南:@ChrisJaynes-这个链接断了,我想你想要这个:@margg我想你可能把Sun的Java与JavaScript混淆了。@margg上面评论中的URL链接到Sun/Oracle页面,Java的创建者在页面上没有提到JavaScript。如果你想发布一个不同的链接,你可能需要更新它。@JustinPutney我无法编辑评论,所以我删除了它,因为它现在没用了。链接已失效,但这是javascript文档。因为sun创建的java并不意味着他们不能谈论其他东西:这是一个非常好的插件,尽管它需要java来支持某些浏览器。链接在页面内部被破坏了……'你的解决方案在Firefox 18.0.2和Chrome 24上都不适用于我。遗憾的是,这段代码不再适用于所有浏览器,它现在只适用于IE。
msg =  "I am the president of tautology club.";
save_content_to_file(msg, "C:\\test");