当新行添加到表中时,使用AJAX更新页面
Use AJAX to update page when new row is added to table
我正在学习AJAX,因为我当前的项目需要它。我有一个提要,当一个新行被添加到MYSQL表时,我想实时更新它。事实上,我已经用node.js做到了这一点,但不幸的是,我的客户端服务器不能使用node,所以我正在尝试用AJAX看看这是否可行。
谢谢你的帮助!
我不知道MYSQL或PHP在页面更新时可以在哪里向页面推送更新。
最好的选择可能是使用javascript运行计时器,并定期检查数据库,看看是否有任何更新,
var refreshId = setInterval(function() { checkforUpdates(lastIndex) }, 10000);
将表索引的最后一行传递给javascript函数,该函数会对PHP进行ajax调用,该PHP会查询数据库中的任何新行,如果返回任何更新,请使用javascript将它们添加到表中。
如果您还想检查更新的行,那就有点棘手了!
您需要让客户端通过轮询不断联系服务器,或者使用诸如comet或websockets之类的推送技术。否则,您的客户无法知道新数据何时到达。
Comet和websockets允许对流程进行最实时的感知,因为它们实际上会在数据可用时立即将数据发送到用户客户端(连接的浏览器),而在轮询时,它只是你的浏览器每隔一段时间查询服务器。
缺点是,推送技术,当然还有需要HTTP Keep Alive的comet,可能会对服务器造成很大的负担,尤其是对于基于进程的服务器,如apache,它们的最大连接很快就会被填满,然后一直保持到断开连接。它有调整选项和现代设置,但不是最佳的:这个问题甚至有一个官方名称c10k,这也是你看到基于事件的服务器近年来越来越受欢迎的原因之一。
使用jquery 更容易进行ajax操作
$("#update_charges").live("click",function() {
$.ajax(
{
type: "POST",
url: "phpfile_toadd_updaterecord.php",
data: "passvalue="+$('input_field_name').val(),
success: function(msg)
{
$('#result_div').html(msg); //msg contains any test echoed from //phpfile_toadd_updaterecord.php file
}
});//end $.ajax
}
下面可以是你的html代码
<form>
<div id="result_div"></div>
<input type="button" name="update_charges" id="update_charges" />
<input type="hidden" name="input_field_name" id="input_field_name" value="anyvalue_to be passed to php file"/>
</form>
Jquery ajax帮助页面
- Wordpress ajax使用多站点登录
- AJAX使用php和javascript连接到db
- 通过 ajax 使用自定义滚动条向元素添加内容
- 无法让 ajax 使用 PHP 从 MySQL 加载信息表
- 使用Ajax使用REST服务-同源策略
- Ajax 使用函数每秒获取一次 php 数据
- jquery$.ajax使用返回数据时出现问题
- AJAX使用PHP从POST获取数据
- AJAX使用从PHP生成的HTML调用的函数更新MYSQL数据库
- AJAX使用jQuery可排序(非表单)发布附加数据
- AJAX:使用AJAX加载内容后,Javascript函数将不起作用
- Ajax使用来自PHP的信息
- 如何为 jQuery.ajax 使用不同的 json 解析器
- AJAX使用相同的按钮添加和删除
- 如何让 AJAX 使用 rails 和 JavaScript 计时器工作
- ajax使用Jquery Mobile调用了两次
- 如何使用 JQuery 和 Ajax 使用另一个 ComboBox 的内容更新 HTML 文件中 ComboBox 的内
- Angular ajax 使用 $http 失败
- 如何使用 AJAX 使用
- onclick 事件调用 php 函数
- 使用jQuery和Ajax使用相同的按钮提交PayPal表单和PHP表单