<textarea name="txtScript" id="word_count" cols="20" rows="20"></textarea>
Total word Count : <span id="display_count">0</span> words.
我想在显示计数范围内发送实时数据。
$(document).ready(function()
{
var wordCounts = {};
$("#word_count").keyup(function() {
var matches = this.value.match(/\b/g);
wordCounts[this.id] = matches ? matches.length / 2 : 0;
var finalCount = 0;
$.each(wordCounts, function(k, v) {
finalCount += v;
});
$('#display_count').html(finalCount);
am_cal(finalCount);
}).keyup();
});
默认值为“0”。当我加新词的时候就算数了。如何将span中的实时数据发送到mysql?
2条答案
按热度按时间qgelzfjb1#
将数据保存到数据库中并不是一个好主意
keyup
事件。您可以在模糊事件或其他事件后将数据保存到数据库中。你得把finalCount
到服务器端保存到mysql数据库中。可以使用jquery.ajax()。在
save.php
您可以访问finalCount
如下所示并将其保存到数据库中:px9o7tmv2#
如果您想向您的客户机发送“实时”数据,您将需要使用ajax长轮询。您的php脚本将检查(可能每秒一次)数据库中的更改,然后将其发送给您的客户机。请记住,这可能会变得非常缺乏资源。另外,请记住它实际上不是实时的。
理论看起来是这样的:
客户端发送长轮询请求。
脚本每秒读取mysql数据库。
如果满足某些条件,则脚本将回显数据(可能是json编码的),后跟一个空行。
javascript检查新数据并接收新行并相应地使用数据。
我最近整理了一个例子,你可以在这里看到(不幸的是你不能自己更新数据。。。你可以在这里下载和玩它。
这样,您就可以开始了解ajax长轮询的工作原理。
另外,请记住,“实时”是一个神话(即使你想潜入webrtc,那么你会有更快的响应时间,仍然不是实时的,只存在于客户端之间,在这里是不适用的)。
您也可以使用php库“ratchet”来使用websockets,这是我自己在过去几天里一直在学习的,但是这有点困难,可能也不是您想要的,除非您自己是服务器管理员,准备全职运行php脚本(几乎像守护进程一样)。