拉拉维尔广播,我无法在java脚本应用程序上获取事件



我在 project.in 控制台调试中使用推送器,当我想连接到仪表板中的通道时显示事件 显示断开连接状态,但我在 javascript 应用程序上没有得到事件。 js 代码:

Echo.private(`order.${orderId}`)
.listen('NewChat', (e) => {
console.log(e.message);
}
);

广播配置:

PUSHER_APP_ID=625***
PUSHER_APP_KEY=bcd15f3d3c6*******
PUSHER_APP_SECRET=c8e7e09d21********
PUSHER_APP_CLUSTER=ap2

引导.js:

import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'bcd15f3d3***********',
cluster: 'ap2',
encrypted: false
});

事件:

public function broadcastOn()
{
return new PrivateChannel('order.'.$this->order_id);
}

渠道:

Broadcast::channel('order.{orderId}', function () {
return true;
});

控制台调试状态

我没有将 Laravel与推杆结合使用的实际经验,但我看到以下内容:

Broadcast::channel('order.{orderId}',

{orderId}不会转换为变量值。你需要{$orderId}.此外,在单引号字符串中执行此操作是行不通的,因为它只会打印{$orderId},所以你需要双引号。

请尝试以下操作:

Broadcast::channel("order.{$orderId}",

也许这会解决你的问题,也许不会。

如果不是,您确定private(order.${orderId})使用的是正确的 ID 吗? 检查return new PrivateChannel('order.'.$this->order_id);是否使用了正确的$this->order_id

相关内容

最新更新