フォームから検索し、検索結果を表示するようにしています。
そこで、ページを更新、切り替えることなく検索結果を表示したいのですが、上手くいきません。
何か方法があればご教授頂きたいです。
よろしくおねがいします。
Node.js + Express + EJS + MySQLです。
<body> <div role="main"> <form method="post" action="/hello/add" name="test"> <div> <input type="text" name="name" value="<%= form.name %>"> </div> <div> </td><input type="submit" value="検索"> </div> </form> </div> <div> <% if (mydata != null){ %> <p><ul> <li><%- mydata.id %></li> <li><%- mydata.attributes.name %></li> <li><%- mydata.attributes.comment %></li> </ul></p> <% } %> </div> </body>
var express = require('express'); var router = express.Router(); var mysql = require("mysql"); var knex = require("knex")({ dialect: "mysql", connection: { host : "localhost", user : "root", password : "", database : "db", charset : "utf8" } }); var Bookshelf = require("bookshelf")(knex); var MyData = Bookshelf.Model.extend({ tableName: "mydata" }); var mysql_setting = { host : "localhost", user : "root", password : "", database : "db" }; router.get("/add", (req, res, next) => { var data = { form: {name:""}, mydata: null, } res.render("hello/add", data); }); router.post('/add', (req, res, next) => { new MyData().where("name", "=", req.body.name).fetch().then((collection) => { var data = { form: req.body, mydata: collection, }; res.render("hello/add", data); }) }); module.exports = router;
回答1件
あなたの回答
tips
プレビュー