Я использую Mongoose с Express.js для создания простого списка приложений. Когда я отправляю из формы, я хочу сохранить элемент списка и вынести сообщение на следующей странице. (. Это будет позже заменен редиректа) Вместо отображения сообщения, в Chrome страница будет простаивать, пока он окончательно не говоритERR_EMPTY_RESPONSE при сохранении модели Mongoose
No data received
Unable to load the webpage because the server sent no data.
Reload this webpage.
Press the reload button to resubmit the data needed to load the page.
Error code: ERR_EMPTY_RESPONSE
Firefox говорит The connection to the server was reset while the page was loading.
Мой маршрут выглядит следующим образом:
exports.post = function(req, res) {
var Item = require('../models/Item')
new Item({
content: req.body.content
}).save(function(){
res.send('item saved')
})
}
Я также попытался:
var item = new Item({
content: req.body.content
})
item.save(function(){
res.send('item saved')
})
, который делает то же самое ,
Моя модель выглядит следующим образом:
var mongoose = require('mongoose')
var ItemSchema = new mongoose.Schema({
content: String
})
var Item = mongoose.model('Item', ItemSchema)
module.exports = Item
Как получить функцию Сохранить, чтобы выполнить?
EDIT: Вот код на стороне клиента:
layout.jade
doctype html
html
head
meta(charset='utf-8')
title Listocracy
body
block content
index.jade
extends layout
block content
h1 Listocracy
form(method='post', action='/item')
input(type='text', name='content')
button(type='submit') Add Item
Если я тяну res.send
из сохранения функции, она напечатайте текст так, как предполагается. Я думаю, проблема связана с функцией сохранения.
Я забыл подключить к MongoDB. – Eva