如何在Node JS服务器上访问通过AJAX发送的数据?

时间:2015-12-29 19:00:56

标签: ajax node.js

我想为我的网站制作一个简单的联系表格。我知道如何使用ajax发送数据,但我不知道如何在Node JS服务器上访问它。

如果我使用此代码发送数据:

var request=new XMLHttpRequest();
request.open("POST","url");
request.send("{value:'10'}");

如何在传递给服务器的JSON对象中访问我的值?

2 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。

例如,您可以在服务器上创建一个端点,例如快递http://expressjs.com/。它可能看起来像这样

router.post('/your/url', function(req, res, data) {
  var value = req.body.value;

  // do cool things with value

  res.send('cool');
});

您定义将处理您的请求的帖子端点。使用请求对象,您可以从请求

访问JSON对象

答案 1 :(得分:0)

我使用request_.on("data", function(data_){});来获取数据。

如果在我的客户端JS中,我使用request.send("my data");

我可以通过在我的Node JS服务器函数中为request_对象添加一个监听器来访问我的数据。

request_.on("data", function(data_){
  console.log(data_);// my data
}

然后我可以按照我想要的方式切片我的数据并按照我认为合适的方式使用它。不需要快递。

这是我按下联系表单上的提交按钮时调用的客户端功能:

function clickSubmit(event_) {
  var xmlhttprequest = new XMLHttpRequest();
  xmlhttprequest.open("POST", "contact");
  xmlhttprequest.send("email=" + html.email.value + "&name=" + html.name.value + "&message=" + html.message.value);
}

这是我的Node JS服务器功能:

function handleRequest(request_, response_) {
  switch(request_.url) {
    case "/contact":
      request_.on("data", function(data_) {
        console.log("data: " + data_);// Outputs the string sent by AJAX.
      });
    break;
  }
}