2016-12-26 193 views
2

我正在使用Laravel Echo收听推送器通道的问题。我无法在浏览器中获得任何响应(无控制台日志)。Laravel Echo未收到推送器事件

在我的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); 
    }); 

我可以从推动调试控制台看到

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

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

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

不过,我并不在我的浏览器控制台得到任何输出。

如果我再键入我的浏览器控制台:

Echo.leave('my-channel'); 

我可以从推调试控制台

  1. 取消订阅我的频道看
  2. 腾出我的路

我怎样才能让Laravel Echo听Pusher事件?

回答

5

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

回声将自动假设这些事件都位于应用程序\活动命名空间

因此,事件名称必须与推进器调试控制台来改变这样:

Event: App\Events\my-event