【发布时间】:2014-03-10 08:19:12
【问题描述】:
每当我在我的 json 文件中提供单个数据元素时,我的代码都可以正常工作,但是一旦我提供一个元素数组,它开始在客户端显示未定义。 这是我的服务器端代码。
var app = require('express')()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server);
var fs= require('fs');
server.listen(3000);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/cli_index.html');
});
io.sockets.on('connection', function (socket) {
var file = __dirname + '/data.json';
fs.readFile(file, 'utf8', function (err, data) {
if (err) {
console.log('Error: ' + err);
return;
}
data = JSON.parse(data);
// You can save those values somewhere or just log them to the console
console.log(data);
socket.emit('news', { hello: data});
});
});
这是我的客户端代码。
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
JSON.stringify(data);
for(var i=0;i<2;i++){
document.write(data[i].hello.name);
}
});
</script>
这是我的外部 json 文件。
[{"name":"hey"},{"name":"Gouraw"}]
【问题讨论】:
标签: json node.js express client-server webclient