仅发布请求发布[对象对象]

时间:2018-08-27 09:14:38

标签: javascript node.js

所以我是发布/获取请求的新手,这确实是我第一次接触它。我遇到的问题是,无论数据是从客户端发布到服务器端,还是保存到数据库中,无论发布的内容是什么:“ [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.");
}

感谢您的帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

尝试这样命名您的数据。

$.post("/postNewHelp", {helpText:JSON.stringify(newHelpMessage)}), function(data){
    console.log(data);
}

在服务器端,您可以找到类似的日期。

var helpText = data.helpText

但是,当您使用jQuery时,请不要在客户端使用它。

var newHelpMessage = $("#userHelpSetting").text();

请随时阅读有关JSON StringifyJSON 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}"`);
});