javascript - 尝试使用 Node.js 将输入数据存储在 json 文件中

标签 javascript node.js json ajax

正如我在标题中所说,我正在尝试使用 Node 中的 fs 存储用户在 HTML 表单上所做的输入,并将其存储在 JSON 文件中。

我想要保存的是一个键值对,如下所示:

{
  fName: example,
  lName: example,
  email: example,
  pswd: example
};

但是我得到的是:

{ '[object Object]': '' }

我有两个文件用于处理此问题,一个用于验证输入并在一切正常的情况下进行 AJAX 调用,另一个用于处理 HTTP 请求并将数据保存在 JSON 文件中。

这里是 AJAX 调用:

let formElement = {
        fName: firstName,
        lName: lastName,
        email: email,
        pswd: pswd
      };
var request = new XMLHttpRequest();
request.open('POST', './signUp.js');
request.setRequestHeader("Content-type", "application/json");
request.send(formElement);

这里是管理 HTTP 请求的代码:

collectReqData(req, res => {
  let data = JSON.parse(JSON.stringify(res));
  fs.writeFileSync('signUp.json', data);
});

我也尝试过 let data = JSON.stringify(res); 但我得到了相同的响应。

如果有人可以帮助我,我会非常高兴,我被困在这个问题上,我不知道该怎么办。

最佳答案

无法重新创建您的服务器代码行为。信息不足。但@jfarleyx 的答案对我来说看起来是合法的。但从 collectReqData() 的外观来看,您可能不使用 Express 框架。尽管如此,根本问题在于客户端代码:您应该将 request.send(formElement); 更改为 request.send(JSON.stringify(formElement));

更新以反射(reflect)评论 查看 repl.it 后,我​​发现您的问题不在于问题中的代码,而在于跳过的代码。特别是对于 collectReqData()collect() 我不知道你希望它们如何/所以我使用 body-parser 并且不想显得花哨。您可以在https://repl.it/repls/SadCulturedFormat检查正确工作的代码。

关于javascript - 尝试使用 Node.js 将输入数据存储在 json 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59569855/

相关文章:

c# - 使用 Json.NET 将异构 JSON 数组反序列化为协变 List<>

javascript - 从视频将图像绘制到 Canvas (没有错误,但未绘制图像)

javascript - javascript/node.js 中的 seek() 等价物?

javascript - DataTables - 从单元格数据中的范围获取 ID

node.js - npm install 是否排除开发依赖?

node.js - 如何在OpenShift中配置最新的nodejs?

javascript - Express 4 和文件 session 存储

json - 如何将 JSON 对象(这是一个列表)解析为 Scala 中的简单 Scala 类对象?

java - 使用 Jackson 库从 JSON 文件创建 JAVA Map

javascript - 指令和 $validators 的 ng-repeat