使用脚本从客户端发送http post并在NODEJS中获取请求

时间:2015-11-19 23:36:22

标签: javascript jquery angularjs node.js

我正在NodeJ上做一个小项目。 实际上我有一个系统,用户按下某个按钮,按下按钮后,在用户界面上执行某个动作(即:用HTML修改)。除此之外,我还希望在数据库中保存用户历史记录。与用户按下的命令或按钮一样。 我如何在客户端的Nodejs中执行此操作,因为我无法在客户端使用require(" http")函数。 我使用mogoodb(Modulus在线数据库)来保存数据。我已经写了一个帖子请求(在服务器端)用于保存数据,这非常有效。

var Record = require('../app/models/record');
app.post('/saveuserhistory', function(req, res, next) {

  var newRecord            = new Record();
  newRecord.email = req.loggedinUser;
  newRecord.commands = "test_command";
  newRecord.sampledata1 = "sample1";
  newRecord.sampledata2 = "sample2";    
  Record.create(newRecord, function (err, post) {
    if (err){
      return next(err)
    }
    else{
      res.json(post);
    }
  });
});

1 个答案:

答案 0 :(得分:1)

  var x = new XMLHttpRequest();

  x.onreadystatechange = function(){
    if( x.status === 200 && x.readyState === 4) {
      // Optional callback for when request completes
      console.log(x.responseText);
    }
  }

  x.open('POST', '/saveuserhistory', true);
  x.send('email=' + someUserEmail + '&someData=' + someData);

这会向当前网址的/saveuserhistory端点发送一个帖子请求,其中包含几个数据。我建议使用jQuery的$.ajax()方法或Angular的$http来获得更清晰的语法和更多的跨浏览器功能。