[英]Node.js calling a function from script to update UI
这是我的网络服务器:
var net = require('net');
var server = net.createServer(function(socket) {
socket.write('hello\n');
socket.write('world\n');
//RECEIVE PACKET ON SOCKET
socket.on('data', function(data) {
//socket.write(data);
//console.log(data);
testSocketData(data)
});
});
server.listen(8000);
方法testSocketData(data)
位于文件update_ui.js
中并执行以下操作:
function testSocketData(test) {
$('#p1').text(test)
}
其中#p1
指的是我的main.html
中段落元素的 id。 我知道我的套接字正在工作,但是我得到:
ReferenceError: testSocketData is not defined.
如何简单地将从我的 node.js 服务器接收到的数据传递给我的 Web 应用程序的其余部分?
您必须将该方法(以及 socket.on('data') )从服务器移动到客户端。 当您通过套接字接收消息时, p1 元素也会更新其文本。
在服务器上,您仍然需要有一个 socket.on('data') 来接收来自客户端的消息。
编辑:这是一些代码,与我下面的评论略有不同。 在服务器上:
function computeSomeResults(data) {
// your logic here
}
socket.on('servermsg', function(data) {
var result = computeSomeResults(data);
socket.emit('clientmsg', result);
});
在客户端:
function testSocketData(test) {
$('#p1').text(test);
}
socket.on('clientmsg', function(data) {
testSocketData(data);
// emit something maybe?
}
最终,您可能希望向服务器发送一些内容:
$('#p1').on('click', function(){
socket.emit('servermsg', $(this).text());
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.