[英]Handle HTML event in Node-js
如何在 Node-js 中处理 HTML 中发生的事件? 我希望每当在 HTML 中单击输入时,节点都会运行: console.log("An element clicked")
。
HTML:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input id="1" name="first" value="Tap here ..."/>
</body>
</html>
应用程序.js:
var express=require('express');
var app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(express.static('E:/Alireza/src/js'));
app.listen(1408, err=>{console.log("Processing ...")});
也许app.js
一些代码是不必要的,我不知道。 请提供适当的代码。
这需要客户端到服务器的通信,这可以使用 Socket IO 轻松完成
Socket IO 是浏览器和服务器之间的双向和基于事件的通信。
你可以使用 npm 安装它,
npm i --save socket.io
或者只是在全球范围内拥有它,
npm i socket.io
在后端(节点 js),我们通过传递服务器对象(http)来初始化套接字,然后监听传入的套接字
var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
io.on('click', (data) => {
console.log("An element clicked")
});
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
在你的情况下,你想在每次点击 html 时通知服务器
看到这一行, io.on('click', (data) => {
'click'是点击事件名称,它可以是任何东西,例如'onclick' 或 'mouse click' 或 'mouse'
有了这个配置,
在前端(html)中,加载 socket io 客户端并初始化它,然后发出如下所示的 click 事件
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
window.onload = () => {
const socket = io();
$('#btn').click(() => {
e.preventDefault(); // prevents page reloading
socket.emit('click', 'hello server!'));
return false;
});
});
</script>
如您所见,我正在使用
socket.emit(event, data);
此行将发出服务器正在侦听的“单击”事件。
希望这可以帮助 ;)
访问https://socket.io了解更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.