【发布时间】:2020-07-23 19:56:32
【问题描述】:
我正在学习将它与 Laravel 一起使用的推送器,我正在尝试使用 Laravel-echo 订阅私人频道,如下所示:
import Echo from 'laravel-echo';
window.Pusher = require('pusher-js');
window.Echo = new Echo({
Pusher.logToConsole = true; //update: added this
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
encrypted: true
});
var channel = window.Echo.private('roomr');
根据Laravel documentations,我必须在 channel.php 文件中设置授权,所以我在其中写道:
Broadcast::channel('roomr', function ($user) {
logger('hit authorize roomr');
return true;
});
请注意,我使用logger('hit authorize roomr'); 来了解是否正在调用我的函数,但是,当我检查日志文件时,它是空的,这意味着该函数没有被调用。
在谷歌浏览器中使用开发者工具,我看到有一个发送到http://127.0.0.1:8000/broadcasting/auth 的帖子请求返回响应 200,所以,我认为身份验证不是问题。
更新:
在我现在在 chrome 控制台中将 Pusher.logToConsole = true; 添加到我的 javascript 之后,我得到:
Pusher : : ["从 auth 端点返回的 JSON 无效,但状态 代码为 200。数据为:"]
我还能做什么?请帮我解决这个问题
【问题讨论】:
标签: laravel laravel-5 laravel-5.8 pusher laravel-echo