Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax显示数据库记录而不刷新页面_Javascript_Php_Jquery_Ajax_Callback - Fatal编程技术网

Javascript 使用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");

我试图使用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


数据库无法触发您的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);