前回の板書 とその簡単な解説

functionの文法

今日の解説の要点

GETでのパラメータ

formのactionパラメータとinputフィールド

モジュール間のデータのやりとり

モジュール間のデータのやりとり


jQueryを使うには

jQueryを使うには

アプリケーションフォルダ生成後の変更点

packages.json

views/index.jade

index.jade (ほぼ全部更新した)

extends layout

block content
  script(src='/lib/jquery-min.js')  //バージョン確認されたし
  script(src='/lib/memo.js')
  input#memo
  button#send
    img(src='/images/send.png')
  #data
    each item in db
      p #{item.memo}

app.js

以下に追加分だけ載せる

// -- 簡単なデータベース
var nedb=require('nedb')
var db=new nedb({filename:'app.db',
    autoload:true
    })
//db.insert({memo:'あいうえお'})
//db.insert({memo:'かきくけこ'})
//db.insert({memo:'さしすせそ'})
routes.db=db

//-- add の処理

app.use('/add',(req,res,nex)=>{
  // 要求処理
  var data=req.query.note
  db.insert({memo:data})
  console.log(data)
  // 応答生成
  res.contentType('application/json');
  res.send(JSON.stringify({newdata:data}));
})


routes/index.js

index.js ( ///の箇所が変更箇所)

var express = require('express');
var router = express.Router();

/* GET home page. */

router.get('/', function(req, res, next) {
  router.db.find({},(err,data)=>{			///
    res.render('index', { xyz: data });		///
  })										///
});

module.exports = router;

lib/memo.js

を新しく作った。

$(()=>{			//ページ読み込みが終わったら呼ばれる
  $('#send').click((e)=>{     // クリック時の処理
    var data=$('#memo').val()
    $.get('/add',{note:data},(data)=>{  // データを送信
      // サーバからの応答を受信した時の処理
      var x=data.newdata
      //alert("Data Loaded: " + data.newdata);
      $('#output').prepend(`<p>${x}</p>`)
  	})
  })
})