laravel - 监听回调在 Pusher API Laravel 5.4 中不起作用

标签 laravel laravel-5.4

问题

我可以确认 Pusher API 正在接收消息。我在 Pusher 网站的调试控制台中看到了。但是听回调根本不起作用。

我关注 this tutorial to implement Pusher in Laravel 5.4

以下是一步一步完成的事情。

  • composer require pusher/pusher-php-server
  • npm install --save laravel-echo pusher-js
  • 在您的 resources/assets/js/bootstrap.js 中实例化 Echo 实例
  • 初始化 env 中的按键在 bootstrap.js文件。

  • 最后,我在 Blade 中编写了以下代码。
    <script>
        window.Echo.channel('SendMessageChannel.1')
            .listen('App.Events.SendMessageEvent', (e) => {
                console.log(e);
            });
    </script>
    

    Controller 代码
    broadcast(new SendMessageEvent("Hi"))->toOthers();
    

    事件代码
    class SendMessageEvent implements ShouldBroadcast
    {
        use Dispatchable, InteractsWithSockets, SerializesModels;
    
        public $Message;
    
        public function __construct($message)
        {
            $this->Message = $message;
        }
    
        public function broadcastOn()
        {
            return new PrivateChannel('SendMessageChannel.2');
        }
    
    }
    

    我错过了什么吗?

    最佳答案

  • 你必须听:SendMessageEvent没有命名空间。
  • 收听私有(private) channel 时,需要收听private-SendmessageChannel或者您使用 Echo.private('SendmessageChannel')

  • 因为我们在某些部分通过teampeak解决了这个问题,所以很难在这个答案中详细解释它。

    还有一个问题是,该事件在客户端开始收听之前就被触发了。最好的方法是使用推送控制台进行调试并触发自定义事件。

    关于laravel - 监听回调在 Pusher API Laravel 5.4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102342/

    相关文章:

    laravel - Ngrok 和 Laravel

    php - Calcinai xero-php 通过一次配置

    php - Heroku 上的 Laravel 5.4。 Forbidden 您无权访问/在此服务器上

    javascript - 在 Laravel 中混合使用 PHP 和 Javascript

    php - Laravel - 多主键

    javascript - 操作 Json(传递到 View 之前)

    php - 拉拉维尔 5.4 : Translate routes

    php - Laravel - 从 mySQL 数据库的 txt 文件中为数据创建单独的行

    php - Laravel 5.4 - 注册后自动登录

    php - 我想理解这段 PHP 代码(来自 Laravel app.php 配置文件)