如何将对象从客户端发送到节点服务器。
我的对象看起来像这样:
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获取对象并在那里使用该对象?
答案 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)
});