Javascript 使用Node.js在服务器端保存客户端数据

Javascript 使用Node.js在服务器端保存客户端数据,javascript,ajax,node.js,file-io,Javascript,Ajax,Node.js,File Io,我已经在我的机器上试用Node.js一段时间了,我发现我对HTTP请求、XHR对象等方面的知识非常缺乏。因此,在使用Node时困扰我的主要问题是,除了简单的GET请求之外,我似乎无法理解如何从客户端与服务器通信,反之亦然。让我想到这个问题的是我最近的项目,这是一个简单的2人国际象棋游戏,没有AI对手 我想做的是能够向服务器发送游戏板数据一个JSON字符串,并让服务器将数据保存到一个文件中。我了解如何在客户端使用XHR对象获取文件内容。我还了解如何使用Node的fs模块在服务器端创建和读取文件。我

我已经在我的机器上试用Node.js一段时间了,我发现我对HTTP请求、XHR对象等方面的知识非常缺乏。因此,在使用Node时困扰我的主要问题是,除了简单的GET请求之外,我似乎无法理解如何从客户端与服务器通信,反之亦然。让我想到这个问题的是我最近的项目,这是一个简单的2人国际象棋游戏,没有AI对手

我想做的是能够向服务器发送游戏板数据一个JSON字符串,并让服务器将数据保存到一个文件中。我了解如何在客户端使用XHR对象获取文件内容。我还了解如何使用Node的fs模块在服务器端创建和读取文件。我不明白的是如何使用XHR对象将字符串发送到服务器,并让节点处理并将其保存到文件中。甚至可以用这种方式使用客户端代码调用服务器端代码吗?试图通过XHR对象向服务器发送参数是一种不正确的方法吗


如果我所问的主题过于宽泛而无法回答,我也愿意阅读有关服务器和客户端通信主题的链接和书籍。

您可以使用XHR发送HTTP请求,并在POST有效负载中使用例如JSON数据


然后,您可以编写服务器端Node.js代码来处理此请求、读取有效负载,并对数据执行任何您想要的操作。

您可以使用XHR发送HTTP请求,并在POST有效负载中使用例如JSON数据


然后,您可以编写服务器端Node.js代码来处理此请求、读取有效负载并对数据执行任何您想要的操作。

展开SLaks回答一点:

假设您在客户机和服务器上使用的都是有用的框架,以避免重新发明低级的东西,您可以这样做

客户

服务器


请注意,该代码尚未经过测试,但至少应显示其总体思路。

在SLaks上展开回答:

假设您在客户机和服务器上使用的都是有用的框架,以避免重新发明低级的东西,您可以这样做

客户

服务器


请注意,该代码尚未经过测试,但至少应该显示其总体思路。

非常感谢您的快速回复。这真的帮助我意识到我需要做什么。非常感谢你的快速回复。这确实帮助我认识到我需要做什么。
$.ajax({
  type: "POST",
  url: "http://www.yourserver.com:3000/some/path",
  data: { ...chessdatahere... }
}).done(function(msg) {
  alert("Data Saved: " + msg);
});
var fs = require('fs');
var express = require('express');
var bodyParser  = require('body-parser');
var app = express();

app.use(bodyParser.json());
app.post('/some/path', function(req, res) {
  fs.writeFile('filename', res.body, function(err) {
    if (err) {
      res.send('Something when wrong');
    } else {
      res.send('Saved!');
    }
  })
});

app.listen(3000);