2016-12-26 242 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