我正在尝试让我的应用应用在私人频道上连接到推送器。
但是我收到以下错误:
pusher.js?b3eb:593 POST http://localhost:8000/broadcasting/auth 404 (未找到)
可能是错误的原因以及解决方法。
答案 0 :(得分:25)
如果您有未注释的
,请查看config / app.php App\Providers\BroadcastServiceProvider::class,
答案 1 :(得分:12)
在config / app.php
中有两个名称相同但命名空间不同的服务提供商Illuminate\Broadcasting\BroadcastServiceProvider::class,
App\Providers\BroadcastServiceProvider::class,
因此取消了两者。它会起作用。
答案 2 :(得分:12)
希望你的基本网址错误尝试硬核你的基本网址如下
window.Echo = new Echo({
authEndpoint : 'http://*******/public/broadcasting/auth',
broadcaster: 'pusher',
key: '********',
cluster: '***',
encrypted: true
});
答案 3 :(得分:4)
完成这些步骤
1)在config/app.php
取消注释此行 -
App\Providers\BroadcastServiceProvider::class,
2)如果以上无法正常工作,但您仍然遇到错误 - 那么我确定您没有登录< / strong>即可。只需登录您的帐户并查看(因为它是您的私人广播)。
它可以解决您的问题,因为您还可以根据需要在app\Providers\BroadcastServiceProvider.php
Broadcast::routes(['middleware' => 'auth:admin']);
答案 4 :(得分:1)
您是否在刀片文件中缺少csrf_token()?
您可以添加元标记
<meta name="csrf-token" content="{{ csrf_token() }}">
查看您的 BroadcastServiceProvider.php ,您应该在引导方法中包含您的频道路由。
答案 5 :(得分:0)
在routes-&gt; channels.php
中创建授权频道Broadcast::channel('chatroom', function ($user) {
return $user;
});
请参阅文档:https://laravel.com/docs/5.4/broadcasting#authorizing-channels
谢谢
答案 6 :(得分:0)
我自己添加了
authEndpoint: "../broadcasting/auth",
对于您自己的情况,也许您应该添加
authEndpoint: "broadcasting/auth",
那样对我有用。
答案 7 :(得分:0)
在 config/app.php 中取消注释这一行:
App\Providers\BroadcastServiceProvider::class,
并确保缓存已清除:
php artisan config:cache
完成...