我试图使用ajax函数显示数据库值。当我向数据库表中添加新行时,它不会立即显示记录。我必须刷新我的页面。然后只显示最近的日志细节。我认为我有一个Ajax编码的问题。我是ajax的新手。有人帮我解决我的问题..数据库记录显示没有使用ajax刷新页面
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
case LOAD_LOG:
if(!isset($_POST['aid']))
die();
$agent_id = $_POST['aid'];
$driver_id = $_POST['did'];
$sql = "SELECT * FROM ".TBL_DRIVER_LOG." where driver_id='$driver_id' ORDER BY id DESC";
$log_data = asort_result_array($sql);
$driver_log ="";
if(count($log_data))
foreach($log_data as $log)
{
extract($log);
$ago = TimeAgo($date_of_update);
echo '<p>
<span>'.$ago.', @ '.$average_speed.'km/hr</span><br>
<span style="font-size: 13px; font-weight: normal;">'.$current_place.'</span>
</p>
<hr class="tabhr">';
}
else
echo "No Entries";
exit();
使用的setTimeout来代替setInterval的?我的意思是有任何请求这个Ajax的点击事件? – Jai
@jai:我已经更新了我的ajax代码.. – Karuppiah