我正在建造一个水疗中心,其中laravel 5.4作为后端,vue js作为前端。我已经设置了laravel广播事件,它与localhost:8000 / event一起工作正常。 “事件”是我设置广播的路线......
现在的问题是我将它连接到我的vuejs前端
import Echo from "laravel-echo"
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: '********************',
cluster: 'ap2',
authEndpoint: 'http://localhost:8000/api/user/login',
encrypted: false
});
和
created(){
window.Echo.private('testChannel1')
.listen('TaskEvent', (e) => {
console.log(e);
});
}
所有这些都在main.js文件中,我收到此错误
pusher.js?b3eb:593 POST http://localhost:8000/api/user/login 405 (Method Not Allowed)
pusher.js?b3eb:626 Pusher : Couldn't get auth info from your webapp : 405
这里我使用jwt auth进行身份验证系统。我该如何解决这个问题?
答案 0 :(得分:1)
在routes/channels.php
中,您需要添加
Broadcast::channel('testChannel1', function ($user) {
return true;
});
您正在私人频道收听,为此,您需要定义该私人频道的授权。
当然,您可以将return语句更改为您需要的任何套件。
如果您不希望此频道是私密的,您可以更改:
window.Echo.private('testChannel1')
到
window.Echo.channel('testChannel1')