search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

updated at

2-Node.js

Node.jsで作成した機能は全部で7つある。

主に以下のyoutubeと書籍を参考にして作成した機能である。
プログラミング教室 Kikuチャンネル
「Node.js入門」
14 本の動画9,784 回視聴最終更新日: 2021/08/19
https://www.youtube.com/playlist?list=PLuFXsKgHUy2VLKAIAY3gbA1rDXf-D8VQD

「Node.js +SQlite3」
6 本の動画425 回視聴最終更新日: 2022/01/13
https://www.youtube.com/playlist?list=PLuFXsKgHUy2V0uE_d_E5NGTFrXagN4G-Q

Node.js超入門[第3版] (単行本)
著者 掌田 津耶乃 著
ジャンル IT系書籍 > プログラミング言語
書店発売日 2020/07/18
ISBN 9784798062433
判型・ページ数 B5変・468ページ
定価 3520円
(本体3200円+税10%)
その他 ダウンロード:有
https://www.shuwasystem.co.jp/book/9784798062433.html

1,htmlファイル(ejsファイルに変数を入れる)

使用したコード

<%= title %>

JSファイル

router.get('/',(req, res, next) => {
  var data = {
    title:'hello!!'
  };
  res.render('hello', data);
});

2,POST処理でデータを受け取る。

<form method="post" action="/hello/post">
    <label for ="msg">Message</label>
    <input type="text" name="message" id="msg">
    <input type="submit" value="送信">

/helloでpost処理を入力フォームを作成する。

router.post('/post',(req,res,next) => {
  var msg =req.body['message'];
  req.session.message = msg;
  var data = {
    content: 'あなたは'+ msg + '送りました'
  };

jsファイルでは、name=messageに入力された内容が送信されて、<%=content%>の部分に入れ込むことができるようになった。

3,googleニュースの取得

<%if (content != null) { %>
      <ol>
     <% for(var i in content) { %>
      <% var obj = content[i]; %>
      <li>
        <a href="<%=obj.link %>">
          <%= obj.title %>
        </a>
      </li>
    <%} %>
  </ol>
    <% }%>

<%contentの中には>result.rss.channel[0].itemの中に文字列のデータが20個くらいあるので、for文で回して一つ一つ表示させている。

router.get('/',(req, res, next) => {
  var opt = {
    host:'news.google.com',
    port: 443,
    path: '/rss?hl=ja&ie=UTF-8&oe=UTF-8&gl=JP&ceid=JP:ja'
  };
  http.get(opt,(res2) => {
    var body =''
    res2.on('data',(data)=> {
      body += data;
    });
    res2.on('end',() => {
      parseString(body.trim(),(err,result) => {
        console.log(result);
        var data = {
          title:'google news2',
          content: result.rss.channel[0].item
        };
        res.render('hello', data);
      })
    })
  })
});

http.getのメソッドを利用して、googlenewsのurlを読み込んで、その結果をDataオブジェクトの中に格納している。})が4つも続くように入れ子がかなりややこしくなり始める。

続きの記事

4,create

5,update,delete

6,find

7,エラーメッセージ

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?