【问题标题】:Laravel Echo not receiving Pusher eventLaravel Echo 没有收到 Pusher 事件
【发布时间】:2016-12-26 22:57:46
【问题描述】:

我在使用 Laravel Echo 收听 Pusher 频道时遇到问题。我无法在浏览器中得到任何响应(没有控制台日志)。

在我的 bootstrap.js 中我得到了。

import Echo from "laravel-echo"

window.Echo = new Echo({
     broadcaster: 'pusher',
     key: 'myPusherAppKey',
     cluster: 'mt1', //My app is US-EAST
     encrypted: true
});

我使用浏览器控制台并输入:

Echo.channel('my-channel')
    .listen('my-event', (e) => {
        console.log(e);
    });

我可以从 Pusher 调试控制台看到

  1. 连接我的应用程序
  2. 订阅我的频道
  3. 占用我的频道

然后我使用 Pusher 调试控制台发送默认事件:

Channel: my-channel 
Event: my-event
Data: {
       "name": "John",
       "message": "Hello"
       }

但是,我的浏览器控制台中没有任何输出

如果我在浏览器控制台中进一步输入:

Echo.leave('my-channel');

我可以从 Pusher 调试控制台看到

  1. 取消订阅我的频道
  2. 我的频道已空置

如何让 Laravel Echo 监听 Pusher 事件?

【问题讨论】:

    标签: laravel laravel-5.3 pusher laravel-echo


    【解决方案1】:

    这是一个命名空间问题。 Laravel documentation 解释它。

    Echo 会自动假定事件位于 App\Events 命名空间中

    因此,必须在 Pusher Debug Console 中更改事件名称,如下所示:

    Event: App\Events\my-event
    

    【讨论】:

      猜你喜欢
      • 2020-09-19
      • 2021-05-30
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      • 2019-09-14
      • 2023-03-10
      • 2023-03-24
      相关资源
      最近更新 更多