前提・実現したいこと
Node.js(Express-generator)とsqlite3でデータベースを表示する
簡単なWEBページをlocal環境で作成しています。
localhost:helloにアクセスするとページが動作しません。
質問者スキル:
node.js初学者
javascript初級
発生している問題・エラーメッセージ
chromeで localhost:3000/hello にアクセスすると以下エラーメッセージ
このページは動作していません
localhost からデータが送信されませんでした。
該当のソースコード
ファイル名:hello.js
var express = require('express');
var router = express.Router();
var sqlite3 = require('sqlite3');
//データベースオブジェクトの取得
var db = new sqlite3.Database('mydb.sqlite3');
//GETアクセス処理
router.get('/', (req, res, next) => {
db.serialize(() => {
db.all("select • from mydata", (err, rows) => {
if (!err) {
var data = {
title: 'Hello!',
content: rows //取得したレコードデータ
};
res.render('hello/index', data);
}
});
});
});
router.get('/add', (req, res, next) => {
var data = {
title: 'Hello/Add',
content: '新しいレコードを入力:'
}
res.render('hello/add', data);
});
router.post('/add', (req, res, next) => {
var nm = req.body.name;
var ml =req.body.mail;
var ag = req.body.age;
db.run('insert into mydata (name, mail, age) values (?, ?, ?)', nm,
res.redirect('/hello'))
});
module.exports = router;
==========<express-generatorプロジェクト構成>=============
.
├── app.js
├── mydb.sqlite3
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ ├── hello.js ★上記ソースコードの保存場所
│ └── users.js
└── views
├── error.ejs
├── index.ejs
└── hello
├── index.ejs
└── add.ejs
試したこと
•URL に localhost:3000 と入力するには正常に表示。
•MacのファイアウォールOFF → 変わらず
•chrome Firefox で localhost:3000/hello にアクセス → 両方同じエラー表示
•sqlite3 -version : 3.19.3 (mac標準で入ってたやつ)
•npm install --save sqlite3 : packagejsonで sqlite3": "^4.0.1", と表示
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。