質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

848閲覧

localhost:helloにアクセスするとページが動作しません。

yoshi0606

総合スコア25

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2018/07/15 08:52

前提・実現したいこと

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", と表示

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

解決しました。
コード1から全て書き直したらできました。
どこかおかしかったと思います。

投稿2018/07/16 11:22

yoshi0606

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問