如何使我的node.js应用程序在api调用上呈现JSON并使用设计模式呈现正常调用的页面? 例: mysite.com/products - 正在渲染产品页面。 我想制作mysite.com/api/products - 使用现有路线渲染该页面的JSON格式。
答案 0 :(得分:0)
我能建议的最好是覆盖响应对象的render方法,并根据请求条件决定:
var app = module.exports = (global.express = require('express'))();
var render = express.response.render;
express.response.render = function(view, options, callback) {
this.locals.xhr = this.req.xhr; // Now you can use xhr var in layouts
// if the accept header is json output json, change it with your request condition
if (this.req.headers.accept === 'application/json') this.json(options);
else render.apply(this, arguments);
};