首先,我想说的是我正在使用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

Console screenshot

但是此结果不会在<div id="#notifications">呈现。

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

最佳答案

代替使用$('#notifications')。html(data),使用$('#notifications')。append(data)

关于javascript - 如何更正渲染页面Laravel?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60974005/

10-12 07:02