所以我是发布/获取请求的新手,这确实是我第一次接触它。我遇到的问题是,无论数据是从客户端发布到服务器端,还是保存到数据库中,无论发布的内容是什么:“ [object Object]”
服务器端代码:
//Recieve new help message
app.post("/postNewHelp", function(data){
var newHelp = data;
console.log(newHelp);
//Upload to database
pingdb.all(`UPDATE userHelp SET privateMessage = "${newHelp}"`);
});
客户端:
//send new help message
function sendNewHelp() {
var newHelpMessage = document.getElementById("userHelpSetting").innerHTML;
console.log (newHelpMessage);
//Send to serverside
$.post("/postNewHelp", newHelpMessage), function(data){
console.log(data);
}
alert("Done! your changes should now be in effect.");
}
感谢您的帮助,谢谢!
答案 0 :(得分:0)
尝试这样命名您的数据。
$.post("/postNewHelp", {helpText:JSON.stringify(newHelpMessage)}), function(data){
console.log(data);
}
在服务器端,您可以找到类似的日期。
var helpText = data.helpText
但是,当您使用jQuery时,请不要在客户端使用它。
var newHelpMessage = $("#userHelpSetting").text();
请随时阅读有关JSON Stringify和JSON parse的信息
答案 1 :(得分:0)
检查客户端代码。尽可能将参数作为json对象发送,如下所示:
function sendNewHelp() {
var newHelpMessage = document.getElementById("userHelpSetting").innerHTML;
console.log (newHelpMessage);
//Send to serverside
$.post("/postNewHelp", {"help": newHelpMessage}, function(data){
console.log(data);
alert("Done! your changes should now be in effect.");
});
}
现在在服务器端
//use the body parser
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({
extended: true
}));
app.post("/postNewHelp", function(req, res){
var newHelp = req.body.help;
console.log(newHelp);
//Upload to database
pingdb.all(`UPDATE userHelp SET privateMessage = "${newHelp}"`);
});