【发布时间】:2019-03-27 08:39:03
【问题描述】:
我目前正在使用 laravel 5.8 和 pusher 3.0.3,我对这些新技术不熟悉。我创建了一个简单的聊天室,但未能使用pusher 收听出席频道。我之前尝试过Echo,但我找不到调试它的方法。
这是来自控制台的pusher:subscription_error:
Pusher: JSON returned from webapp was invalid, yet status code was 200. Data was: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
我已经将此行添加到我的BroadcastServiceProvider.php
Broadcast::routes(['middleware' => ['auth:api']]);
require base_path('routes/channels.php');
我已经通过公共频道从推送调试器接收事件,所以我认为我的凭据设置正确。
这是我的bootstrap.js 的底部部分。
const CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
var pusher = new Pusher('61540f91921896045e25', {
cluster: "ap1",
forceTLS: true,
//authEndpoint: 'authchatuser'
authEndpoint: '/broadcasting/auth',
auth: {
headers: {
'X-CSRF-Token': CSRF_TOKEN
}
}
});
var channel = pusher.subscribe('presence-chatroom');
//var channel = pusher.subscribe('chatroom');
channel.bind('MessagePosted', function(data) {
console.loga(data);
});
channel.bind('pusher:subscription_error', function(data) {
console.log("Pusher: " + data);
});
从网络选项卡中,我看不到对推送器 authEndpoint broadcasting/auth 的请求,但我看到了对我的主页的 GET 请求,该请求以 200 响应,我认为这就是我收到 @987654332 的原因@ 而不是 json。
请帮我解决这个问题,或者您是否有想法绕过端点并从我的web.php 发送 json 数据进行身份验证(推送者预期的正确数据)?谢谢。
【问题讨论】: