res.json没有发送json响应

时间:2016-05-17 08:48:33

标签: json node.js express mongoose

我有一个简单的“Ticket”模型,如下所示:

Foreach-Object

我正在尝试使用Express Router将所有现有票证作为json返回:

var mongoose = require('mongoose');
var alias = require('mongoose-aliasfield');

var ticketSchema = new mongoose.Schema({
    d: { type: String, alias: 'description', required: true, trim: true },
    t: { type: Date, alias: 'eventdate', required: true }
});

ticketSchema.plugin(alias);

module.exports = mongoose.model('Ticket', ticketSchema);

由于某种原因,响应将作为内容类型为“text / html”的对象数组返回:

var router = require('express').Router();
var Ticket = require('../models/ticket');

router.get('/', function (req,res) {
    Ticket.find({}, function(err, tickets) {
        if (err) {
            console.log(err.message);
            return res.status(500).send();
        }
        return res.status(200).json(tickets);
    });
});

我相信我应该使用Content-Type的“application / json”来回复json ...我缺少什么?

2 个答案:

答案 0 :(得分:1)

您可以使用res.json(tickets);代替res.status(200).json(tickets);

答案 1 :(得分:0)

尝试发表评论ticketSchema.plugin(alias);

我使用的是以下套餐,但没有使用别名插件

"表达":" 4.13.4", " mongoose":" 4.4.10",