0

试图console.logpusher中显示数据。我正在使用laravel 5.8

app.js文件有以下代码:

let userId = document.head.querySelector('meta[name="user-id"]').content;
Echo.private('App.User.' + userId)
    .notification((notification) => {
        console.log(notification.type);
    });

错误如下:

未捕获的类型错误:无法读取 null 的属性“内容”

我还在我的刀片中添加了 CFRS 令牌和 Auth:User,ID 如下:

<meta name="csrf-token" content="{{ csrf_token() }}">
    <mete name="user-id" content="{{Auth::check() ? Auth::user()->id: ''}}"

4

2 回答 2

2

我认为这里的拼写错误

mete更改为meta (tag name is a not a proper)

 <meta name="user-id" content="{{Auth::check() ? Auth::user()->id: ''}}" />

无头使用

let userId = document.querySelector('meta[name="user-id"]').content;
console.log("user Id"+userId);
Echo.private('App.User.' + userId)
    .notification((notification) => {
       console.log(notification.type);
});
于 2019-03-25T05:56:04.713 回答
1

试试这个

确保您使用正确的 ID

let userId = document.querySelector('meta[name="user-id"]').content;
Echo.private('users.' + userId)
    .notification((notification) => {
        console.log('received');
        console.log(notification);
    });

确保您有相同的频道路线

Broadcast::channel('users.{id}', function ($user, $id) {
    return (int) $user->id === (int) $id; // it should be true (return true)
});

建议

您可以使用推送器启用全局控制台日志

Pusher.log = function(message) {
    window.console.log(message)
};

这可以记录每个推送事件。在开发过程中会有所帮助

于 2019-03-25T05:53:52.797 回答