Javascript 使用套接字记录按钮按下
我对web套接字非常陌生。我希望能够创建一个简单的web应用程序,记录按钮被单击的次数:Javascript 使用套接字记录按钮按下,javascript,jquery,node.js,websocket,socket.io,Javascript,Jquery,Node.js,Websocket,Socket.io,我对web套接字非常陌生。我希望能够创建一个简单的web应用程序,记录按钮被单击的次数: <button>click</button> <div id="counter"></div> <script> $(function() { $('button').click(function() { $('div#counter').html(function(i, val) { return
<button>click</button>
<div id="counter"></div>
<script>
$(function() {
$('button').click(function() {
$('div#counter').html(function(i, val) {
return val*1 + 1
});
});
});
</script>
点击
$(函数(){
$(“按钮”)。单击(函数(){
$('div#counter').html(函数(i,val){
返回值*1+1
});
});
});
我知道我可以使用JavaScript/jQuery用一个值更新div,但是如何通过明文/数据库存储这个值并显示按钮被点击次数的实时输出呢
例如,如果
browser A
打开,当前计数为5
,而browser B
打开并单击按钮,计数将在两种浏览器上更新为6
。您需要使用服务器端语言,纯js不行,在php上我可以
<button onclick="myFunction()">click</button>
<script>
function myFunction()
{
<?php
$conection="connection values";
$sql="update some_table set somevalue=somevalue+1";
//execute query
?>
}
</script>
点击
函数myFunction()
{
}
或者,如果您不想将php代码和数据库连接放在同一个文件上,您可以这样调用它
<script>
function myFunction(){
$.get("somepage.php");
return false;
}
</script>
函数myFunction(){
$.get(“somepage.php”);
返回false;
}
您需要一些WebSocket服务器后端和持久存储。然后,您需要一个通知后端单击的机制,以及一个通知所有连接的浏览器更新的机制
对于通知,这非常适合发布/订阅(PubSub)
请看一个示例,了解如何在浏览器中使用WebSocket和AutobahnJ,在服务器上使用AutobahnPython。(由于高速公路项目正在进行重大变更,更新正在进行中,因此不能保证您能够按照目前所述直接执行演示,但它会让您了解基本模式。)
根据您使用的后端语言的类型,您可能需要查看WAMP的版本,即上述库用于PubSub模式的协议。有很多,其中一个可能适合你的需要
(完全披露:我为Tavendo工作,他是高速公路WebSocket项目的项目维护人员。)
PS:这正是您想要做的,包括在Oracle数据库中持久化后端数据。但是,在下一版本Crossbar.io的工作继续进行时,这一功能目前肯定无法使用。我希望使用socket.io/node.js。使用PHP,您必须连接到数据库才能调用数据,这在所有当前打开的没有web套接字的浏览器中是不一致的。