从客户端获取带有对象的节点服务器的请求

时间:2018-05-27 11:31:09

标签: javascript json node.js ajax

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

我的对象看起来像这样:

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获取对象并在那里使用该对象?

1 个答案:

答案 0 :(得分:1)

请参阅:https://api.jquery.com/jquery.post/

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

$.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)
});