【问题标题】:How to show data dynamically in laravel using jquery without page reload如何使用 jquery 在 laravel 中动态显示数据而无需重新加载页面
【发布时间】:2018-09-01 06:38:07
【问题描述】:

我想从数据库中获取数据而不重新加载页面。我正在使用 laravel。我已经使用 jquery 获取了这些数据。 这是我的 jquery 代码。

 function loadData() {
var id=$('#projectId').val();
    $.ajax({
      type: 'GET',
      url: '/teammessage/'+id,
      success: function(value){
        console.log(value);
        $(value.success).each(function(e,k){
       $('#test').append(value.success[e].team_message);
        });
      }
    });
    }

现在,如果有任何新数据插入数据库,我想在不重新加载页面的情况下显示该数据。 我在setIntervalfunction 中将这个loadData() 函数称为这个函数。

window.setInterval(function(){
  loadData();
}, 1000);

但是这个setInterval 函数会保留以前的数据并再次加载数据。我想只显示更新的数据。就像,如果在我看来有AB 和新的C 被其他用户插入到数据库中。它应该显示ABC 而无需重新加载页面。

【问题讨论】:

  • 你需要在你的 laravel 中使用 socket。
  • $('#test').empty().append(...)?
  • 先获取现有记录数,然后调用ajax。通过计算新记录来检查您是否有新记录。如果只添加它们。

标签: jquery laravel


【解决方案1】:
 function loadData() {
var id=$('#projectId').val();
    $.ajax({
      type: 'GET',
      url: '/teammessage/'+id,
      success: function(value){
        console.log(value);
        $(value.success).each(function(e,k){
       $('#test').html(value.success[e].team_message);
        });
      }
    });
    }

如果您从 jquery 获取所有数据,则只需替换它

【讨论】:

    【解决方案2】:

    我已经通过使用load 方法解决了这个问题。像这个。

    window.setInterval(function(){
    var id=$('#projectId').val();
    $( "#team-messageid" ).load( "/teammessage/"+id);
    },1000);
    

    【讨论】:

      猜你喜欢
      • 2017-04-19
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多