Javascript AJAX post数据几乎保存到数据库?

Javascript AJAX post数据几乎保存到数据库?,javascript,jquery,ajax,node.js,express,Javascript,Jquery,Ajax,Node.js,Express,在测试模块时,AJAX正确地发布在浏览器的console.log中,Node.js/express4 mongoose.save方法正确地保存到MongoDB测试中 由于某种原因,AJAX post数据尚未进入数据库,尽管它准确地记录了数据 $(document).ready(function(){ $('#SubmitBtn').click(function() { var message = $( "#message" ).val(); cons

在测试模块时,AJAX正确地发布在浏览器的console.log中,Node.js/express4 mongoose.save方法正确地保存到MongoDB测试中

由于某种原因,AJAX post数据尚未进入数据库,尽管它准确地记录了数据

$(document).ready(function(){

    $('#SubmitBtn').click(function() {

        var message = $( "#message" ).val();

        console.log(message); // logs as the "user's message"

        var AjaxPostData = {'message' : message};

        console.log(AjaxPostData);  // logs as [object Object]

          // make an ajax call
          $.ajax({
            dataType: 'json',
            data: AjaxPostData,
            type: 'post',
                url:"http://localhost:4200/api/v1/stories",
                success: foundAllSuccess,
                error: foundAllFailure
            });

        console.log(AjaxPostData.message);  // logs as the "user's message"
    });
});
Express4路由:

var router = express.Router();  // an instance of the express Router
var Story = require('./app/models/story');  // load the mongoose model

router.route('/stories')

    // create a story (accessed at POST http://localhost:4200/api/v1/stories)
    .post(function(req, res) {

        var story = new Story();  // create a new instance of the Story model
        story.message = req.body.message;  // set the message, from the request

        console.log(req.body.message); // logs with Postman, yet the ajax post

        // save the story, and check for errors
        story.save(function(err) {

            if (err)
                res.send(err);

            res.json({ message: 'Story "' + story.message + '" Created' });

        });
    })

app.use( '/api/v1', router );  // all of the routes are prefixed
替换数据:AjaxPostData

使用数据:JSON.stringifyAjaxPostData,
我不相信数据被正确地传递,这就是为什么它在[Object Object]

上发送,结果是ajax点击事件需要e.preventDefault;或返回错误


这两种方法都适用于本例。尽管这里有一篇关于差异的文章:

您能更具体地说明错误的性质吗?当您发布AJAX日志时,您的console.log是req.body.message日志吗?我还建议使用新的故事{message:req.body.message}.savecallback,因为它更干净一些。最后,我将删除AjaxPostData定义中的倒逗号,因为据我所知,它们不是必需的。@Michael req.body.message的控制台日志没有记录AjaxPost。。谢谢你建议的格式。。我们将测试它all@Michael根据您的建议修改了格式。。控制台正在使用POSTMAN测试记录req.body.message,而不是ajax。。也删除了倒逗号,仍然没有保存ajax数据。。还有其他建议吗?
$('#SubmitBtn').click(function(e) {

    e.preventDefault();

    // do something
});

$('#SubmitBtn').click(function() {

    //do something

    return false;
});