Laravel Echo 未收到 Pusher 事件
Laravel Echo not receiving Pusher event
我在使用 Laravel 向 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 调试控制台看到
- 连接我的应用程序
- 订阅了我的频道
- 已占用我的频道
然后我使用 Pusher 调试控制台发送默认事件:
Channel: my-channel
Event: my-event
Data: {
"name": "John",
"message": "Hello"
}
但是,我的浏览器控制台没有任何输出。
如果我在浏览器控制台中进一步输入:
Echo.leave('my-channel');
我可以从 Pusher 调试控制台看到
- 取消订阅我的频道
- 腾出我的频道
如何获得 Laravel Echo 来监听 Pusher 事件?
这是一个命名空间问题。 Laravel documentation 解释一下。
Echo will automatically assume the events are located in the App\Events namespace
因此,必须在 Pusher 调试控制台中更改事件名称,如下所示:
Event: App\Events\my-event
我在使用 Laravel 向 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 调试控制台看到
- 连接我的应用程序
- 订阅了我的频道
- 已占用我的频道
然后我使用 Pusher 调试控制台发送默认事件:
Channel: my-channel
Event: my-event
Data: {
"name": "John",
"message": "Hello"
}
但是,我的浏览器控制台没有任何输出。
如果我在浏览器控制台中进一步输入:
Echo.leave('my-channel');
我可以从 Pusher 调试控制台看到
- 取消订阅我的频道
- 腾出我的频道
如何获得 Laravel Echo 来监听 Pusher 事件?
这是一个命名空间问题。 Laravel documentation 解释一下。
Echo will automatically assume the events are located in the App\Events namespace
因此,必须在 Pusher 调试控制台中更改事件名称,如下所示:
Event: App\Events\my-event