Если я пропустил простую часть всего, прости.Я наблюдаю странное поведение уведомлений Laravel между моей локальной разработкой и моим сервером в Bluehost.На моем ПК установлена версия 5.5 и Bluehost 5.4
Я установил уведомление базы данных и успешно могу получить их, как и ожидалось.
<ul class="dropdown-menu list-unstyled msg_list" role="menu" onclick="markPostAsRead({{count(auth()->user()->unreadNotifications)}})">
<li>
@forelse (auth()->user()->unreadNotifications as $notification)
@include('layouts.notifications.'.snake_case(class_basename($notification->type)))
@empty
<strong>No notification</strong>
@endforelse
</li>
</ul>
Затем, когда пользователь щелкает по нему, запускается JavaScript, чтобы получитьмаршрут для обновления столбца read_at в моей таблице уведомлений в базе данных.
<script type="text/javascript" >
function markPostAsRead(countofNotification){
if(countofNotification !== '0')
$.get('/markasread');
}
</script>
Ниже приведен маршрут
Route::get('/markasread',function(){
auth()->user()->unreadNotifications->first()->markAsRead();
});
В моей локальной среде все прошло как ожидалось.
После загрузки со всеми выполненными миграциями уведомления отображаются, как и ожидалось.Однако когда пользователь щелкает уведомление, таблица не обновляется.Я проверил, что js работает с некоторыми оповещениями как на сервере, так и в локальной среде.Но я не понимаю, почему таблица не обновляется на моей стороне сервера.
Если бы вы могли дать мне одну подсказку, это действительно поможет мне.
html-уведомление следующее
<div class="top_nav">
<div class="nav_menu">
<nav>
<div class="nav toggle">
<a id="menu_toggle"><i class="fa fa-bars"></i></a>
</div>
<ul class="nav navbar-nav navbar-right">
<li role="presentation" class="dropdown" >
<a href="javascript:;" class="dropdown-toggle info-number" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-globe"></i>
<span class="badge bg-green">{{count(auth()->user()->unreadNotifications)}}</span>
</a>
<ul class="dropdown-menu list-unstyled msg_list" id="notification" role="menu" onclick="markPostAsRead({{count(auth()->user()->unreadNotifications)}})">
<li>
@forelse (auth()->user()->unreadNotifications as $notification)
@include('layouts.notifications.'.snake_case(class_basename($notification->type)))
@empty
<strong>No Unread Notification</strong>
@endforelse
</li>
</ul>
</li>.
</ul>
</nav>
</div>
</div>
<script type="text/javascript" >
var mynotificationcount;
function markPostAsRead(countofNotification){
mynotificationcount= countofNotification;
}
$('#notification').on('click', function(e){
e.preventDefault();
var href = this.href;
if(mynotificationcount !== '0') {
$.get('/markasread');
} else {
window.location.href = href;
}
});
</script>
Спасибо,