首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Laravel 5.4 pusher

使用Laravel 5.4 pusher
EN

Stack Overflow用户
提问于 2017-03-18 17:42:05
回答 1查看 755关注 0票数 2

我在让pusher工作时遇到了麻烦。我已经按照文档操作了,但我不知道问题是..控制台返回null。

代码语言:javascript
复制
public function broadcastOn()
{

    return new PrivateChannel('my-channel');
}

这是我为pusher准备的js。

代码语言:javascript
复制
 <script src="https://js.pusher.com/4.0/pusher.min.js"></script>
<script>
(function () {



    // Enable pusher logging - don't include this in production
    Pusher.logToConsole = true;

var pusher =新推流器(‘6049410e84e42d918b14’,{ encrypted: true });

代码语言:javascript
复制
    var channel = pusher.subscribe('my-channel');

    channel.bind('\Dms\Events\NewNotification', addMessage);

    function addMessage(data) {
        var listItem = $("<li class='list-group-item'></li>");
        listItem.html(data.message);
        $('#messages').prepend(listItem);

        console.log(data.message)
    }

})()

上面是我用来测试的所有代码。请任何人谁做了这方面的协助。Laravel 5.4是目前正在使用的。以下是错误代码。enter image description here

EN

回答 1

Stack Overflow用户

发布于 2017-03-18 19:37:52

在Laravel 5.4中,私有通道添加了前缀private-。因此,请尝试更改以下内容:

代码语言:javascript
复制
 var channel = pusher.subscribe('my-channel');

要这样做:

代码语言:javascript
复制
 var channel = pusher.subscribe('private-my-channel');

其次,检查你的字符串,你需要转义反斜杠。所以'\Dms\Events\NewNotification'应该是这样的:'\\Dms\\Events\\NewNotification'

最后,我推荐使用Laravel Echo,因为它使得使用Pusher和Laravel变得非常容易。使用Echo,下面这两行代码:

代码语言:javascript
复制
var channel = pusher.subscribe('my-channel');

channel.bind('\Dms\Events\NewNotification', addMessage);

将如下所示:

代码语言:javascript
复制
Echo.private('my-channel')
    .listen('\\Dms\\Events\\NewNotification', addMessage);

请注意,您不再需要编写前缀private-

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42872749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档