尝试显示来自{strong>推送器的console.log
中的数据。我正在使用 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);
});
错误在下面:
未捕获的TypeError:无法读取null的属性“ content”
我还在刀片中添加了CFRS令牌和ID为的Auth:User,如下所示:
<meta name="csrf-token" content="{{ csrf_token() }}">
<mete name="user-id" content="{{Auth::check() ? Auth::user()->id: ''}}"
答案 0 :(得分:2)
我认为这里拼写错误
将记录更改为元 (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);
});
答案 1 :(得分:1)
尝试一下
确保使用
获得正确的IDlet 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)
};
那可以记录每个pusher事件。开发过程会有所帮助