javascript - Laravel 和 Ajax 加载数据而不刷新页面

标签 javascript jquery ajax laravel

我目前正在编写显示用户事件日志的代码。 Ajax将调用该路由并获取响应(json)结果。我需要能够在管理仪表板上显示日志记录,而无需刷新页面。

Ajax

 $(document).ready(function() {
        $.ajax({
            type: 'get',
            url:"{{ route('users.activity') }}",
            dataType: 'json',
            success: function (data) {
                $.each(data, function() {
                    $.each(this, function(index, value) {
                        console.log(value);
                        $('#activity').append('' +
                            '<div class="sl-item">' +
                            '<div class="sl-left bg-success"> <i class="ti-user"></i></div>' +
                            '<div class="sl-right">' +
                            '<div class="font-medium">' + value.causer.username + '<span class="sl-date pull-right"> ' + value.created_at + ' </span></div>' +
                            '<div class="desc">' + value.description + '</div>' +
                            '</div>' +
                            '</div>');
                    });
                });
            },error:function(){
                console.log(data);
            }
        });
 });

最佳答案

如果我明白,你可以这样做:

$(document).ready(function() {
    var requesting = false;
    var request = function() { 
    requesting = true;
    $.ajax({
        type: 'get',
        url:"{{ route('users.activity') }}",
        dataType: 'json',
        success: function (data) {
            $.each(data, function() {
                $.each(this, function(index, value) {
                    console.log(value);
                    $('#activity').append('' +
                        '<div class="sl-item">' +
                        '<div class="sl-left bg-success"> <i class="ti-user"></i></div>' +
                        '<div class="sl-right">' +
                        '<div class="font-medium">' + value.causer.username + '<span class="sl-date pull-right"> ' + value.created_at + ' </span></div>' +
                        '<div class="desc">' + value.description + '</div>' +
                        '</div>' +
                        '</div>');
                        requesting = false;
                });
            });
        },error:function(){
            console.log(data);
        }
    });
   };
  if(!requesting){
      setTimeout(request, 1000);
  }
 });

它每秒都会向您的 users.activity 路由发出一次请求,因此每秒都会有一个更新。

关于javascript - Laravel 和 Ajax 加载数据而不刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53894679/

相关文章:

javascript - 不懂这个JS

jquery - 您如何为用于 jquery 编码的菜单栏正确编写 CSS 代码?

javascript - 更新提交按钮上的数据并保持在同一页面上

javascript - ECHO 在 PHP 中发布来自 AJAX 的数据

jquery - 提交后更改按钮 - jquery,django

javascript - 在警报框中使用 AJAX

javascript - 使用jquery的登录页面不重新提交

javascript - jquery 中 $.each 的问题

javascript - 保持 CSS 三 Angular 形 Angular 处于响应状态

javascript - 在 ajax 中转换传统帖子