Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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

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_Arduino - Fatal编程技术网

Javascript 数据记录问题

Javascript 数据记录问题,javascript,html,arduino,Javascript,Html,Arduino,我在arduino上安装了一个web服务器,并从中加载了网页。我使用ajax打印网页中的数据 同样,我需要将数据作为文本文件存储在本地pc中。我最初成功地存储了一个文本文件,但问题是数据被附加到同一个文件中,每个实例创建了多个文件 有人能帮我解决这个问题吗。我被限制只使用javascript client.println(“document.getElementById(\“flux\u values\u 1\”)。innerHTML=this.responseText;”; client.pr

我在arduino上安装了一个web服务器,并从中加载了网页。我使用ajax打印网页中的数据

同样,我需要将数据作为文本文件存储在本地pc中。我最初成功地存储了一个文本文件,但问题是数据被附加到同一个文件中,每个实例创建了多个文件

有人能帮我解决这个问题吗。我被限制只使用javascript

client.println(“document.getElementById(\“flux\u values\u 1\”)。innerHTML=this.responseText;”;
client.println(“var textToSave=[this.responseText]”;
println(“var textToSaveAsBlob=newblob([textToSave],{type:'text/plain'});”;
println(“var textToSaveAsURL=URL.createObjectURL(textToSaveAsBlob);”;
println(“var fileNameToSaveAs=\“as\”;”;
client.println(“var downloadLink=document.createElement(\“a\”);”);
client.println(“downloadLink.download=fileNameToSaveAs;”;
client.println(“downloadLink.href=textToSaveAsURL;”;
client.println(“document.body.appendChild(downloadLink);”;
client.println(“downloadLink.click();”;

实际上,您是在浏览器中下载文件,无法通过浏览器将数据附加到文件中,您必须在后端执行此操作。浏览器将始终创建新文件并下载新文件。这是预期的行为,不能改变

我所看到的唯一可行的解决方案是,使用可以按正确顺序(序号或日期)排序的名称编写文件,然后不时或在需要时将文件连接到PC上。您还可以使用现代浏览器中的Web存储来构建内部缓存,并向其中添加新文本。然后用缓存的文本数据覆盖文件。但是Web存储有一个大约32KB的限制(我不记得正确的值)。最简单的方法是让arduino只传递数据文本。这是由脚本(python、javascript/nodejs、perl、bash或任何您想要的)读取的,然后在您的PC上构建一个web服务器,在web页面上传递这些数据。或者更简单的脚本,从数据创建HTML页面。如果这能解决你的问题。