【问题标题】:an a get ajax get fail using nodejs使用 nodejs 获取 ajax 失败
【发布时间】:2019-06-04 18:38:20
【问题描述】:

`我想向nodejs发送一个ajax get请求。 (index.ejs -1.img) https://ibb.co/Hr61MDT

然后我在 nodejs 文件 (index.js -2.img) 中接受了请求 https://ibb.co/TR3W3N8 但就在这里

var limit=req.query.limit;
var start=req.query.start;

console.log(req.query);



Model.find({}, function (err, data) { 
res.render('index', { Bedirhan: data });
}).sort({ _id: -1 }).skip(start).limit(limit);

// 跳过(开始).limit(limit); // 启动和限制不起作用 当我们查看终端时(3.img)

https://ibb.co/749s8vP

{ limit: '8', start: '0', _: '1559636568728' }这很好但是

Model.find({}, function (err, data) { 
res.render('index', { Bedirhan: data });
}).sort({ _id: -1 }).skip(start).limit(limit);

这段代码为什么不起作用

【问题讨论】:

    标签: javascript jquery node.js ajax


    【解决方案1】:

    您需要在exec 函数中进行回调

    Model.find().sort({ _id: -1 }).skip(start).limit(limit).exec( function (err, data) { 
         res.render('index', { Bedirhan: data });
    });
    

    【讨论】:

      【解决方案2】:

      试试这个:

      Model.find({}, null, { skip: start, limit: limit, sort: { _id: -1 } }, function (err, data) { 
        res.render('index', { Bedirhan: data });
      });
      
      

      您还应该处理错误:

      Model.find({}, null, { skip: start, limit: limit, sort: { _id: -1 } }, function (err, data) { 
        if(err) {
            //console.log(err) Your error handle
        } else {
          res.render('index', { Bedirhan: data });
      
        }
      });
      

      使用承诺:

      Model.find({})
          .skip(start)
          .limit(limit)
          .sort({ _id: -1 })
          .then(data => {
              res.render('index', { Bedirhan: data });
          })
          .catch(err => {
              //console.log(err) your error handle
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多