これは、 tは.. .. は、ここで私がこれまで持っているものだ、私はオンライン見上げていると、これまで任意の運を持っていなかった ...ejsファイルのnode.jsに格納されたデータを表示する方法:: Javascript
page.ejs
...
<div class="container" id="someID">
<a class = "someName" href="">
<%# Trying to put data here-%>
<% data.forEach(function(dat) {%>
<img src=<%=JSON.stringify(dat) %> />
<% }); %>
</a>
</div>
...
モデルに成功してい.js
'use strict';
const db = require('db');
const {Type} = db;
const table = db.defineTable('aList', {
columns: {
id:Type.bigint().unsigned().notNull().primaryKey().autoIncrement(),
name: Type.varchar(127).notNull().unique(),
logo: Type.varchar(127).notNull().unique(),
},
indexes: [ 'name' ],
});
const ATable = {
create(aData, cb) {
table.insert({
name: aData.name,
logo: aData.logo,
},(err, result) =>{
if(err) {
cb(err);
return;
}
cb(null, result.insertId);
});
},
getLogo(cb){
table.query(
'SELECT `logo` ' +
'FROM `aList`',
cb);
},
};
module.exports = ATable;
Controller.js
'use strict';
const ATable = require('../ATable');
const jsonBodyParser = require('../jsonBodyParser');
const logger = require('logger');
const router = require('../router');
router.post('/aList/create', jsonBodyParser, (req, res) => {
const aData = req.body;
ATable.create(aData, err =>{
if(err){
logger.error(err);
res.sendStatus(500);
return;
}
res.sendStatus(201);
});
});
router.get('/aList/logo', (req, res, next) => {
ATable.getLogo((err, logo) => {
if (err) {
next (err);
return;
}
res.json(logo);
res.render('page',{data:logo});
});
});
page.mount.js
var React = require('react');
var ReactDOM = require('ReactDOM');
var Container = require('page.react');
ReactDOM.render(<Container />, document.getElementById('someID'));
page.react.js
'use strict'
var Container = React.createClass({
getInitialState: function(){
return {
title: 'SOME TEXT',
sources:[]
}
},
render: function(){
return (
<div>
<h1> {this.state.title} </h1>
<ShowList names={this.state.sources} />
</div>
)
}
});
var ShowList = React.createClass({
render: function(){
var listItems = this.props.names.map(function(source){
return <a class="list" href="http://www.google.ca"> <img class="logos" src={source} /> </a>;
});
return (
<div>
{listItems}
</div>
)
}
});
module.exports = Container;
localhost:port_number/api/aList/logoにアクセスすると、データはうまく表示されますが、ページを表示しようとすると、データが定義されていないというエラーが表示されます。 ありがとうございます!
回答ありがとうございますが、私はまだ内部サーバエラーが発生しています。私の端末は「データ」が定義されていないことを私に教えています。 –