Javascript 使用ajax显示数据库记录而不刷新页面
我试图使用ajax函数显示数据库值。当我向数据库表中添加新行时,它不会立即显示记录。我必须刷新我的页面。然后只显示最近的日志详细信息。我想我在ajax编码方面有问题。我是阿贾克斯的新手。有人帮我解决我的问题Javascript 使用ajax显示数据库记录而不刷新页面,javascript,php,jquery,ajax,callback,Javascript,Php,Jquery,Ajax,Callback,我试图使用ajax函数显示数据库值。当我向数据库表中添加新行时,它不会立即显示记录。我必须刷新我的页面。然后只显示最近的日志详细信息。我想我在ajax编码方面有问题。我是阿贾克斯的新手。有人帮我解决我的问题 function updateDriver(event) { $(".panel a").each(function(){ if($(this).hasClass("active")) $(this).removeClass("active");
function updateDriver(event)
{
$(".panel a").each(function(){
if($(this).hasClass("active"))
$(this).removeClass("active");
});
$(this).addClass("active");
ajaxObj.options.previousDriver = ajaxObj.options.data['did'];
ajaxObj.options.data = {'aid':'<?=$agent_id?>','did': event.data.did};
//Ajax call for Driver Log Update;
//function refreshEachMinute() {
$("#RecentLog").html('Loading...');
$.ajax({
url: "<?=LOAD_LOG?>/",//The resource that delivers loc data.
method: 'post', //data method
dataType:'html',
data: { aid: "<?=$agent_id?>", did: event.data.did },
success: function(data)
{
$('#RecentLog').html(data);
},
error: function()
{
$('#RecentLog').html('<p>No Entries</p>')
}
});
//}
//setInterval(refreshEachMinute, 200);
}
PHP
数据库无法触发您的javascript函数。您必须每隔几段时间从客户端执行一次。您可以使用window.setInterval进行此操作
window.setInterval(function(){
//your ajax function.
}, 200);//every 200 milliseconds
看起来您正在尝试从同一页执行此操作?尝试将PHP分离到不同的文件中。当您附加LOAD_LOG查询字符串并刷新页面时,您说它只显示这些条目,因此我认为您的case语句基本上是在编写整个页面
如果您创建一个单独的PHP文件,比如'loadlog.PHP',那么您就可以用/path/to/loading.PHP替换ajax中的url选项,这可能会更成功 除了贝萨贝斯汀说的话 如果您希望它只执行一次,可以使用setTimeout而不是setInterval
window.setInterval(function(){
//your ajax function.
}, 200);
你怎么称呼这个ajax?我的意思是,是否有任何点击事件会请求此ajax?@jai:我已经更新了我的ajax代码..啊,是的,对不起,看得太快了,还以为你是在同一页面上添加查询字符串。
window.setInterval(function(){
//your ajax function.
}, 200);