【问题标题】:res.json not sending a json responseres.json 不发送 json 响应
【发布时间】:2016-09-13 06:29:25
【问题描述】:

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

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

我相信我应该返回 Content-Type 为“application/json”的 json...我错过了什么?

【问题讨论】:

    标签: json node.js express mongoose


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      尝试注释掉ticketSchema.plugin(alias);

      我正在使用以下软件包但没有别名插件

      “快递”:“4.13.4”, “猫鼬”:“4.4.10”,

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 2017-11-03
        • 2018-08-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多