Pusher在控制台和应用程序仪表板中加倍登录

时间:2018-06-11 13:47:30

标签: javascript php laravel pusher

我遇到了一个奇怪的情况,其中使用Pusher和Laravel 5.6(重要的是指出一切正常工作),我收到的是双重通知(两者都在控制台上@浏览器中的开发人员控制台和Pusher应用程序中的调试控制台。)

我在我的应用程序中找不到任何加倍的推送代码,所以它让我感到很恼火。

以下是开发人员控制台代码的屏幕截图: Developer's console

此处来自Debug Console:Debug Console

另外,我附上了代码中最重要的部分:

// 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'];
}
}

在resources / assets / js 我没有在app.js中更改任何内容,在bootstrap.js中我只是取消注释了最后一部分(启动的那部分:“从'laravel-echo导入Echo ” ...“)。

1 个答案:

答案 0 :(得分:0)

我注意到了一件事:

当将jQuery版本从3.3.1更改为1.12.4时,我从脚本中收到了一些错误,这是错误的(它只是另一个脚本),所以日志只显示一次...