【问题标题】:Javascript: Save content to Text File (No complicated Server stuff / HTTPRequest )Javascript:将内容保存到文本文件(没有复杂的服务器内容/HTTPRequest)
【发布时间】:2017-10-01 17:05:26
【问题描述】:

我正在为自己做一个小项目。我不会上传网页,只在我的机器上运行本地主机上的文件(HTML,CSS,JAVASCRIPT)

function saveData() {
        $.post("testFile.txt", "New Content of the File ");
    }


 function getData() {
        $.when($.get("testFile.txt")).done(function(requestedData) {
            alert(requestedData);
        });
    }

好的,所以这基本上是一个解释我的问题的虚拟项目。 这些方法由具有“onclick”事件的两个不同按钮调用。 第一个调用“getData()”的按钮工作正常。 testFile.txt 位于 Html 和 Javascript 文件旁边,getData() 方法正确地将文本文件的内容作为字符串警告。

我的问题: 如何使 saveData() 方法工作?我误解了 $.post() 方法吗? (https://www.w3schools.com/jquery/jquery_ajax_get_post.asp)

最近几天我阅读了很多论坛和主题,但没有一个能以我需要的方式解决问题,因为我不想做所有这些看起来很困难的 http-requests 事情 - 只是阅读和写作位于同一文件夹中的文件,然后是我所有的 html 和 javascript 文件

谢谢:)

【问题讨论】:

  • 据我所知,您不能在本地使用 Javascript 执行此操作。 $.post 函数用于向 url 发送数据。
  • 我知道由于安全原因,在浏览器中 Javascript 无法访问本地文件,但是当文件位于我的网页所在的位置时,这应该不是问题,不是吗?我认为 URL 也可以是路径,与它工作的 get 方法相同......
  • 当然有问题...浏览器只有一个.. 呃,该文件的副本。原始文件仍在服务器上;客户无法更改。

标签: javascript jquery html node.js ajax


【解决方案1】:

$.post 用于发送 POST http 请求。

客户端 javascript 无权写入客户端计算机。
如果确实如此,这将是一个巨大的安全漏洞。

但是

您在问题中标记了 node.js,它可以写入本地文件系统:

var fs = require('fs');
fs.writeFile("testFile.txt", "New Content of the File", function(err) {
    //done
}); 

【讨论】:

  • nodejs 是服务器端。 '普通的javascript'是客户端。它们是两种不同的东西。
  • 很抱歉,如果你问这些问题,你真的没有“看过这么多初学者教程”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
  • 2014-01-05
  • 2014-02-24
  • 1970-01-01
  • 2013-05-05
  • 2012-04-18
相关资源
最近更新 更多