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