Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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
在没有服务器的情况下使用Javascript进行文件操作,如读/写本地文件_Javascript_Html_Fileapi_Local Files - Fatal编程技术网

在没有服务器的情况下使用Javascript进行文件操作,如读/写本地文件

在没有服务器的情况下使用Javascript进行文件操作,如读/写本地文件,javascript,html,fileapi,local-files,Javascript,Html,Fileapi,Local Files,我只是在尝试这个任务,使用java脚本的文件操作系统。正如我在W3C文件API()中提到的,我们只能读取本地文件,如 var file = "test.txt"; function readTextFile(file) { var readFile; if(window.XMLHttpRequest){ // for new browsers readFile = new XMLHttpRequest(); }else{ //for

我只是在尝试这个任务,使用java脚本的文件操作系统。正如我在W3C文件API()中提到的,我们只能读取本地文件,如

var file = "test.txt";
function readTextFile(file) {
   var readFile;    
   if(window.XMLHttpRequest){
      // for new browsers
      readFile = new XMLHttpRequest();
   }else{
      //for old browsers like IE5 or IE6
      readFile = new ActiveXObject("Microsoft.XMLHTTP");
   }    
   readFile.open("GET", file, true);
   readFile.onreadystatechange = function() {
      if(readFile.readyState === 4) {
         if(readFile.status === 200 || readFile.status == 0) {
            //text will be displayed that read from the file
            console.log(readFile.responseText);
         }
      }
   }
   readFile.send(null);
}
但在没有服务器的情况下,似乎没有写入文件的选项。我曾试图从网站上获取解决方案,比如,研究表明几乎没有任何可能性

举个例子,我得到的是

它显示错误“TypeError:file.open不是函数。”

所以我的问题是,是否有可能在不使用服务器端脚本的情况下对本地文件进行文件操作(只询问写文件),或者是否有类似的扩展名可用?

我们可以使用PHP、Node.js等服务器脚本语言进行文件操作


提前感谢。

在您的代码中,它不是从本地文件(
test.txt
)读取,而是向服务器发送Ajax
GET
请求并在服务器端读取文件

要读取本地文件(存储在安装了浏览器的计算机中的文件),需要使用FileAPI,而当前代码中未使用该API


要将文件写入本地,不可能直接使用JavaScript编写。否则,这将是一个巨大的安全漏洞。但是,您可以从文件对象生成URL,并通过“本地文件”将该URL用作
href
属性,您是指安装浏览器的计算机上的文件吗?或者,您是指服务器计算机上的文件吗?是的,我指的是安装浏览器的计算机上的文件@少川。当然,上面给出的代码在服务器端工作。但是我们可以在本地进行。但是在您的代码中,您发送了
GET
Ajax请求来读取服务器端的文件。是的,但是您的意思是以
POST
Ajax请求的形式编写代码吗@我已经尝试过FileAPI(上面已经提到),但是我只能从本地文件中读取。如果您需要编写任何程序来写入本地文件,请在此处编写代码@少川。感谢@少川先生的宝贵努力。