嗯,就在今天下午。
我正在创建一个连接到newsapi
的新闻聚合器,但其中一个更重要的功能是让用户能够提交自己的文章。
创建视图呈现,在框中插入信息并点击提交后,我显示空{} ---
更重要的是,信息不会添加到数据库中。
因为我之前确实让它工作了,所以我认为在导致问题后我在某个时候犯了一个错误。
有什么想法?我已经看了一个多小时了,我很难过。
server.js:
// CREATE get
app.get('/home/create', (request, response) => {
response.render('create');
})
// CREATE
app.post('/home/create', urlencodedParser, (request, response) => {
const articleNew = request.body;
Article.createArticle(articleNew).then(article => {
response.redirect('/home');
})
.catch((error) => {
response.send(error);
})
});
News.js:
// require database setup to use pg-Promise
const pgp = require('pg-promise')({});
const Article = {};
const connectionURL = "postgres://localhost:5432/news_app";
// new database connection
const db = pgp(connectionURL);
Article.createArticle = article => {
return db.any('INSERT INTO user_articles(name, author, title, description, url) VALUES($1, $2, $3, $4, $5, $6) RETURNING id', [article.name, article.author, article.title, article.description, article.url]);
};
module.exports = Article;
create.ejs
<form class="form-horizontal" action="/home/create" method="post">
<fieldset>
<!-- Button -->
<div class="form-group">
<label class="col-md-4 control-label" for="submit"></label>
<div class="col-md-4">
<button id="submit" name="submit" class="btn btn-success">Submit</button>
</div>
</div>
表名:user_articles:
id BIGSERIAL PRIMARY KEY,
名称VARCHAR(255),
作者VARCHAR(255),
title VARCHAR(255),
description VARCHAR(255),
url VARCHAR(255)
);