最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用jquery提交表单时,Node.js挂起

运维笔记admin13浏览0评论

使用jquery提交表单时,Node.js挂起

使用jquery提交表单时,Node.js挂起

当我提交表单node.js挂起但它保存到mongodb。请告诉我我做错了什么,对节点来说很新。

index.js

router.post('/add-to-cart/:id', cartController.checkCart, cartController.createCart);

cartController

exports.checkCart = async (req, res, next) => {

    const cart = await Cart.findOne({"owner": req.params.id});

    if (!cart){             
       return next();            
    }

    else{
        res.json(req.body);
    };

};   

exports.createCart = async (req, res) => {

    const createCart = new Cart({

        owner: req.params.id,
        status: 'open',
        products: {
            _id: req.body._id,
            quantity: req.body.quantity,
            price: req.body.price
        }
    });

    const newCart = await createCart.save();
};

JQuery的

$(".submit").click(function(event){   

  $(".form").submit(req.body); 
  $(this).attr("class", "submit btn btn-success"); 
  event.preventDefault();                                                                                           
});
回答如下:

exports.createCart需要声明它已经完成。你应该添加next函数参数并在最后用next()调用它,或者使用res.json()res.end()res.send()等返回一些东西。

如果没有这些选项,它将无限期地挂起。你在第一个函数中完成它的方式是正确的;只是对第二个应用相同的东西。

发布评论

评论列表(0)

  1. 暂无评论