分析express-pjax模块

来说一下这个express-pjax这个模块的用处,实现无刷新跳转页面,前端使用jquery-pjax这个插件,nodejs如何实现尼?这个模块就是来解决这个问题的。
先来看一下express-pjax这个模块的源码:

module.exports = function() {
  return function(req, res, next) {
    if (req.header("X-PJAX")) {
      req.pjax = true;
    }
    res.renderPjax = function(view, options, fn) {
      if (req.pjax) {
        if (options) {
          options.layout = false;
        } else {
          options = {};
          options.layout = false;
        }
      }
      res.render(view, options, fn);
    };
    next();
  };
};

很简单,没毛病。就是将res.render()这个方法进行了‘加工’。如果头文件中有X-PJAX这个属性就设置layout的值为false,就这么简单。
不使用这个模块看一下如何实现

res.render("index",{layout:false});

对,就是这么简单,只需要一行代码就搞定。

转载请注明文章出处!

查看微博长图