无法使用laravel和vue js收听推送器专用频道
我已经创建了一个通知系统,当我向pusher发送通知时,它的所有设置和工作都很好。但当我尝试在私人频道上收听时,我会出错 这是我的bootstrap.js文件laravel echo代码无法使用laravel和vue js收听推送器专用频道,laravel,vue.js,pusher,laravel-notification,Laravel,Vue.js,Pusher,Laravel Notification,我已经创建了一个通知系统,当我向pusher发送通知时,它的所有设置和工作都很好。但当我尝试在私人频道上收听时,我会出错 这是我的bootstrap.js文件laravel echo代码 import Echo from 'laravel-echo'; window.Pusher = require('pusher-js'); let token = document.head.querySelector('meta[name="csrf-token"
import Echo from 'laravel-echo';
window.Pusher = require('pusher-js');
let token = document.head.querySelector('meta[name="csrf-token"]').content;
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true,
auth: {
headers: {
'X-CSRF-Token': token
}
}
});
这是我的主要html的元标记内容
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="user-id" content="{{Auth::check() ? Auth::user()->api_token:''}}">
这是我在控制台上遇到的错误
职位http://localhost:3000/broadcasting/auth 419(身份不明)
提前感谢Laravel使用错误代码419表示您的CSRF令牌无效或丢失。您应该确保将正确的令牌传递给身份验证端点。Laravel使用错误代码419指示您的CSRF令牌无效或丢失。您应该确保将正确的令牌传递给您的身份验证端点。我找到了答案。由于BroadcastServiceProvider.php中的路由设置,这是一个问题,我已经解决了。这是由于BroadcastServiceProvider.php中的路由设置引起的问题
let userId = document.head.querySelector('meta[name="user-id"]').content;
Echo.private('App.User.' + userId)
.notification((notification) => {
console.log(notification.type);
});