首页 > 解决方案 > 使用对象获取从客户端到节点服务器的请求

问题描述

如何将对象从客户端发送到节点服务器。

我的对象看起来像这样:

var myobj = {};
myobj.title = "title1";
myobj.message = "message1";

我只是想将它发送到服务器以使用 mongoDB 将其保存到数据库中。但是当我尝试发送它并查看请求时,只会出现不可读的文本。

这是客户端上的代码:

$.get( '/createA',myobj, function(data) {
   console.log(JSON.parse(data));
});

这是我的服务器代码:

router.get('/createA', function(req, res, next) {
   let gelp = req._parsedOriginalUrl.query;
   let res1 = gelp.replace(/%22/g, "'");
   var test = JSON.parse(res1);
});

我尝试使用该.replace()函数格式化字符串并将其解析回 JSON,但它不起作用。

有没有其他方法可以从客户端 JavaScript 获取对象到 Node 并在那里使用该对象?

标签: javascriptjsonnode.jsajax

解决方案


见:https ://api.jquery.com/jquery.post/

也只是 console.log 或做 res.send('it working!') 第一次测试这些东西,而不是在你知道后端收到它之前尝试修改它。

$.post("/createA", myobj, function( data ) {
  console.log( data.title );
  console.log( data.message ); 
}, "json");

先试试这个。

router.post('/createA', function(req, res) {
  res.send('it worked!')
});

之后,您可以尝试修改并发送回对象。像这样

router.post('/createA', function(req, res) {
  var data = {}
  data.title = req.body.title.toUpperCase()
  data.message = req.body.message.toUpperCase()
  res.send(data)
});

推荐阅读