json - res.json 不发送 json 响应

标签 json node.js express mongoose

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

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);

我正在尝试使用 Express Router 以 json 形式返回所有现有票证:

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);
    });
});

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

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 1826
ETag: W/"722-szU3qBkszFjaLqHo4B0UZA"
Date: Tue, 17 May 2016 08:23:32 GMT
Connection: keep-alive

我相信我应该返回内容类型为“application/json”的 json...我缺少什么?

最佳答案

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

关于json - res.json 不发送 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37271325/

相关文章:

java - Gson反序列化具有递归依赖的复杂对象

mysql - .hasMany 调用的内容不是 Sequelize.Model 的子类

node.js - Marklogic 8 Node.js API - 如何在 root 的属性子级上进行搜索?

node.js - 如何使用 ExpressJS 一次 API 调用下载多个文件

javascript - 如何在 ajax 函数中的 document.write() 中发送 html?

javascript - django框架下的JSON解析

json - 将 Json 数据附加到数组 - Firebase/Swift

javascript - 如何将javascript应用于模拟浏览器的html

node.js - 显示从 Nodejs 到 EJS 的嵌套 JSON

javascript - 从mysql文本类型显示换行符到ejs