Я столкнулся со странной ситуацией, когда использую Pusher с Laravel 5.6 (важно отметить, что все работает отлично), Я получаю двойные уведомления (оба на консоли @ разработчикаконсоль в браузере и консоль отладки в приложении Pusher).
Я не могу найти в своем приложении дублирующийся код pusher, поэтому меня это немного раздражает.
Вот скриншоткод из консоли разработчика: консоль разработчика .
А вот из консоли отладки: консоль отладки .
Кроме того, я прилагаю наиболее важную частькода:
// view.blade.php
<script type="application/javascript">
$(document).ready(function() {
Pusher.logToConsole = true;
var pusher = new Pusher('xxxxxxxxxxxxxxxxxxxx', {
cluster: 'eu',
encrypted: true
});
var channel = pusher.subscribe('update-date-channel');
channel.bind('App\\Events\\Event', function(data) {
$(".list-group").find("#" + data.updatedItemId).html(data.updatedDate);
});
})
// Контроллер (по которому я отправляюобновленные значения)
public function addbid(Request $request)
{
/*
...
*/
event(new Event($updatedDate = $newDate->toArray("date")["formatted"], $request -> id));
Session::flash('message', "Bid added succesfully!");
return Redirect::back();
}
// А вот и весь файл событий из App \ Events \ Event
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class Event implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $updatedDate;
public $updatedItemId;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($updatedDate, $updatedItemId)
{
$this->updatedDate = $updatedDate;
$this->updatedItemId = $updatedItemId;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return ['update-date-channel'];
}
}
В ресурсах/ assets / js Я ничего не изменил в app.js, в bootstrap.js я просто раскомментировал последнюю часть (ту,который начинается: "импортировать Echo из 'laravel-echo' ...").