gpt4 book ai didi

javascript - Node.js 从脚本调用函数来更新 UI

转载 作者:行者123 更新时间:2023-12-02 18:21:38 25 4
gpt4 key购买 nike

这是我的网络服务器:

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 未定义。

如何简单地将从 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());
});

关于javascript - Node.js 从脚本调用函数来更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18756233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com