所以我试着测试我创建的每个对象,在不刷新页面的情况下进行广播。下面是我们实例化pusher并为UserHasRegistered绑定事件的js:
// Enable pusher logging - don't include this in production
Pusher.logToConsole = true;
(function() {
var pusher = new Pusher('3c50750503376de6d201', {
cluster: 'eu',
encrypted: true
});
var channel = pusher.subscribe('test');
channel.bind('App\\Events\\UserHasRegistered', function(data) {
console.log(data);
});
})();
</script>这是我广播注册用户名的路由,我在绑定到pusher时也提到过。
Route::get('broadcast', function(){
$name = Request::input('name');
event(new UserHasRegistered($name));
return 'Done';
});事件侦听器正在工作,我得到了环境设置和broadcast.php,但我得到的是:
Pusher : State changed : initialized -> connecting pusher.min.js:8:2561
Pusher : Connecting : {"transport":"ws","url":"wss://ws-eu.pusher.com:443 /app/3c50750503376de6d201?protocol=7&client=js&version=4.1.0&flash=false"} pusher.min.js:8:2561
Pusher : State changed : connecting -> connected with new socket ID 123754.768449 pusher.min.js:8:2561
Pusher : Event sent : {"event":"pusher:subscribe","data":{"channel":"test"}} pusher.min.js:8:2561
Pusher : Event recd : {"event":"pusher_internal:subscription_succeeded","data":{},"channel":"test"} pusher.min.js:8:2561
Pusher : No callbacks on test for pusher:subscription_succeeded pusher.min.js:8:2561发布于 2020-06-20 15:14:17
您应该同时使用这两种方法。要捕获错误并订阅频道,请执行以下操作:
channel.bind('pusher:subscription_succeeded', function(members) {
// alert('successfully subscribed!');
});
channel.bind("App\\Events\\UserHasRegistered", function(data) {
console.log(data);
});因为您可以绑定到多个事件。
https://stackoverflow.com/questions/46546318
复制相似问题