首页 > 解决方案 > 如何更正渲染页面 Laravel?

问题描述

首先,我想说我正在使用 Laravel 5.1,而且我是 Laravel 的新手。

我从用户收到的网站发出通知,通知网站上的各种操作以存储在数据库中。但我有一个问题。

当我单击该处理使用的按钮时,$.post如果用户单击该按钮,他应该在站点块中收到通知$('#notifications').html(data),但是当我单击该按钮时,站点块会删除所有过去的通知和变成空的。

我在控制器的功能:

Notify::create(
    [
    'id' => $last_id + 1,
    'user_id' => $this->user->id,
    'title' => 'Notification',
    'message' => 'Test '.Request::get('operation').'',
    'status' => '1',
    ]);
$user_notifications = \DB::table('notifications')->where('user_id', $this->user->id)->orderBy('id', 'desc')->get();
return view('includes.notifications', compact('user_notifications'))->render();

我的 JS:

$('.calc-place').click(function () {
    var operation = $(this).attr('data-type');
        $.post('/getNotify', function (data) {
            console.log(data);
            $('#notifications').html(data)
        });
});

在浏览器控制台我有__proto__: Object.

控制台截图

但是这个结果不会在<div id="#notifications">.

我的问题在哪里?我该如何解决这个问题?如果您需要更多信息,我随时准备提供。

标签: javascriptlaravel

解决方案


不要使用$('#notifications').html(data),而是使用 $( '#notifications').append(data)


推荐阅读