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

Posted

技术标签:

【中文标题】使用脚本从客户端发送 http post 并在 NODEJS 中获取请求【英文标题】:Sending http post and get request in NODEJS from client side using script 【发布时间】:2016-02-22 07:58:35 【问题描述】:

我正在做一个关于 NodeJs 的小项目。 实际上,我有一个系统,用户按下某个按钮,按下按钮后,会在用户界面上执行某个操作(即:在 html 中进行修改)。除此之外,我还想将用户历史记录保存在数据库中。就像用户按下了哪个命令或按钮一样。 我如何在客户端的 Nodejs 中做到这一点,因为我不能在客户端使用 require("http") 函数。 我正在使用 mogoodb(模数在线数据库)来保存数据。而且我已经写了一个发布请求(在服务器端)来保存数据,效果很好。

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);
    
  );
);

【问题讨论】:

你可以先写一些代码,这通常会有所帮助 如何使用脚本从客户端调用:localhost:8080/saveuserhistory。 【参考方案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);

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

【讨论】:

以上是关于使用脚本从客户端发送 http post 并在 NODEJS 中获取请求的主要内容,如果未能解决你的问题,请参考以下文章

如何使用异步http post从android studio发送数据到xampp并在真实设备中运行?

如何从 POST 请求中检索 cookie?

如何捕获 Shopify Webhook 发送的 HTTP POST 请求

将数据从 HTML 页面发送到 PHP 脚本并在 PHP 中选取数据

无法使用 Postman 将 POST 变量发送到 localhost 上的 php 脚本

IBM Worklight - 从客户端发送 HTTP POST 请求