Laravel pusher error: JSON returned from webapp was invalid, yet status code was 200
Laravel pusher error: JSON returned from webapp was invalid, yet status code was 200
我在 laravel 5.2 上工作,我添加了 vinkla/laravel-pusher 在我的网站上做实时聊天应用程序,但我遇到了这个问题:
"JSON returned from webapp was invalid, yet status code was 200."
这是我的控制器:
public function authMessageChat(Request $req)
{
$channelName = e($req->input('channel_name'));
$socketId = e($req->input('socket_id'));
$auth = $this->pusher->presence_auth($channelName, $socketId, auth()->user()->id);
return response($auth);
}
这是我的脚本:
var pusher = new Pusher('{{env("PUSHER_KEY")}}', {
authEndpoint: '../auth',
auth: {
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
params: {
id: currentUser.id
}
}
});
var channel = pusher.subscribe('{{$chatChannel}}');
channel.bind('pusher:subscription_error', function(PusherError){
console.log('PusherError' + PusherError);
});
channel.bind('new-message', function(data) {
console.log(data.sender);
)};
推送器错误:
您的应用似乎正在返回调试栏 html 作为 json 响应的一部分。
假设您使用的是 barryvdh/laravel-debugbar,根据 the documentation 您可以在运行时关闭调试栏:
Config::set('laravel-debugbar::config.enabled', false);
我假设您需要在发送响应之前添加它,在您用于身份验证端点的控制器 method/route 中(即您调用 socket_auth
方法来自)
@chrismou 谢谢你的回答..
你的答案是正确的,我们可以用另一种方式实现解决方案..
只需转到您的 .env 文件并制作:
APP_DEBUG=false
而不是
APP_DEBUG=true
谢谢
我在 laravel 5.2 上工作,我添加了 vinkla/laravel-pusher 在我的网站上做实时聊天应用程序,但我遇到了这个问题: "JSON returned from webapp was invalid, yet status code was 200." 这是我的控制器:
public function authMessageChat(Request $req)
{
$channelName = e($req->input('channel_name'));
$socketId = e($req->input('socket_id'));
$auth = $this->pusher->presence_auth($channelName, $socketId, auth()->user()->id);
return response($auth);
}
这是我的脚本:
var pusher = new Pusher('{{env("PUSHER_KEY")}}', {
authEndpoint: '../auth',
auth: {
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
params: {
id: currentUser.id
}
}
});
var channel = pusher.subscribe('{{$chatChannel}}');
channel.bind('pusher:subscription_error', function(PusherError){
console.log('PusherError' + PusherError);
});
channel.bind('new-message', function(data) {
console.log(data.sender);
)};
推送器错误:
您的应用似乎正在返回调试栏 html 作为 json 响应的一部分。
假设您使用的是 barryvdh/laravel-debugbar,根据 the documentation 您可以在运行时关闭调试栏:
Config::set('laravel-debugbar::config.enabled', false);
我假设您需要在发送响应之前添加它,在您用于身份验证端点的控制器 method/route 中(即您调用 socket_auth
方法来自)
@chrismou 谢谢你的回答..
你的答案是正确的,我们可以用另一种方式实现解决方案.. 只需转到您的 .env 文件并制作:
APP_DEBUG=false
而不是
APP_DEBUG=true
谢谢