javascript - Laravel BroadcastAs 中的 Pusher 传递参数

标签 javascript php laravel pusher

嗨,我有这个 js 代码

    var pusher = new Pusher('my pusher key', {
        cluster: 'ap2'
    });
    var channel = pusher.subscribe('my-channel');

    channel.bind('my-event', function(data)
    {
        console.log(data);
    });

这是我的 Laravel 代码

protected $pos_invoice;
public function __construct($pos_invoice)
{
    $this->pos_invoice = $pos_invoice;
}
public function broadcastOn()
{
    return new Channel('my-channel');
}

public function broadcastAs()
{
    return 'my-event';
}

这是调用代码

return event( new \App\Events\New_pos_online_order_event('aa'));

现在是代码

    channel.bind('my-event', function(data)
    {
        console.log(data);
    });

总是在控制台上返回[],所以我尝试了这个

public function broadcastAs()
{
    return 'my-event.'.$this->pos_invoice;
}

还有这个

public function broadcastOn()
{
    return new Channel('my-channel'.'asdfasdf');
}

当我更改任何内容时

public function broadcastOn()
{
    return 'my-channel';
}

public function broadcastAs()
{
    return 'my-event';
}

代码不起作用并且在控制台上没有返回任何内容 那么我如何使用 js 在 Pusher 和 Laravel 上传递参数 谢谢..

最佳答案

您需要定义函数broadcastWith

**
 * Get the data to broadcast.
 *
 * @return array
 */
public function broadcastWith()
{
    return ['pos_invoice' => $this->pos_invoice];
}

您将在绑定(bind)函数的数据中收到数组

关于javascript - Laravel BroadcastAs 中的 Pusher 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72582458/

相关文章:

php - 获取日期时间当天的所有结果

laravel - 如何在 Laravel 中覆盖自定义验证规则的消息?

javascript - 使用 jQuery 创建元素时, "click"和 "onclick"有什么区别?

javascript - JS : Filter object array for partial matches

javascript - 通过输出的 document.write 设置文本样式

php - 当数据库查询返回无/空结果时,Foreach 循环中断

php - 在 Laravel 中加入 where 查询返回错误的时间戳

php - MySQL 以 300000 行操作读取/秒的方式加载 CPU

javascript - 获取与正则表达式匹配的 HTML 单词的 XPATH

javascript - 如何从 web 的 firebase 数据库中检索特定数据