Goodmorning,
I have a question/problem with script that im building,im using a include for modeling my arrays en return them to the server.js
the data show to the console but not to visitors, on a simple webpage, if i place the query and my modeling inside the server.js file it works, has somebody a reason for why the include wont return the results with the query?
Server.js
var io = require('socket.io').listen(3000);
var data_model = require("./data_model.js");
io.sockets.on('connect', function(socket) {
console.log('There is a connection');
io.emit("data", "There is a connection");
console.log(data_model.retrieve()); // THIS LINE WORKS,
socket.emit("dataretrieve", JSON.stringify(data_model.retrieve()));
});
my data model
var mysql = require('mysql');
var connection = mysql.createConnection({
host: "",
user: "",
password: "",
database: ""
});
var data_model = {
retrieve: function() {
connection.query('SELECT * FROM data_retrieve', function(err, rows, fields, data) {
if (rows.length === 0) {
} else {
dataretrieve = {};
dataretrieve["data_retrieve"] = {};
dataretrieve["data_retrieve"] = {
id: rows[0].id,
msg: rows[0].msg
};
return JSON.stringify(dataretrieve);
}
});
}
};
module.exports = data_model;
current webpage:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script>
<script src="http://172.0.2.13:3000/socket.io/socket.io.js"></script>
<script>
$(document).ready(function(){
var socket = io.connect('http://172.0.2.13:3000');
socket.on('data', function(data){
document.getElementById('connection').innerHTML = data;
});
socket.on('dataretrieve', function(dataretrieve){
console.log(dataretrieve); //WONT SHOW THE DATA
});
});
</script>
<body>
<pre>
<div id="connection"></div>
<div id="dataretrieve"></div>