我有一个简单的“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/