2016-11-08 8 views
2

私は簡単なアラートとコンソールログを与える基本的なプッシャートリガーイベントをテストしようとしていますが、動作しません。応答はプッシャーコンソールのデバッグから受信されますが、アラートはありません。私はlaravel 5.3とそのルートとそのためのビューを使用しています。以下は私のコードです。私は機密情報を検閲しました。プッシャーはコールバックを返さない

ルートファイルweb.php

Route::get('/bridge', function() { 

    error_reporting(E_ALL); 

    $options = array(
     'cluster' => 'ap1', 
     'encrypted' => true 
    ); 
    $pusher = new Pusher(
     'key censored', 
     'secret censored', 
     'app id censore', 
     $options 
    ); 

    $data['message'] = 'hello world'; 
    $pusher->trigger('test_channel', 'my_event', $data); 

    return view('pusher'); 
}); 

とビューpusher.blade.php

<!DOCTYPE html> 
<head> 
    <title>Pusher Test</title> 
    <script src="https://js.pusher.com/3.2/pusher.min.js"></script> 
    <script> 

     // Enable pusher logging - don't include this in production 
     Pusher.logToConsole = true; 

     var pusher = new Pusher('e5bbf707214a6223d044', { 
      cluster: 'ap1', 
      encrypted: true 
     }); 

     var channel = pusher.subscribe('test_channel'); 
     channel.bind('my_event', function(data) { 
      alert(data); 
      console.log(data); 
     }); 
    </script> 
</head> 

クロームコンソールは私に次のログを提供します。

Pusher : State changed : initialized -> connecting 
Pusher : Connecting : {"transport":"ws","url":"wss://ws-ap1.pusher.com:443/app/censored key?protocol=7&client=js&version=3.2.2&flash=false"} 
Pusher : State changed : connecting -> connected with new socket ID 5034.8700909 
Pusher : Event sent : {"event":"pusher:subscribe","data":{"channel":"test_channel"}} 
Pusher : Event recd : {"event":"pusher_internal:subscription_succeeded","data":{},"channel":"test_channel"} 
Pusher : No callbacks on test_channel for pusher:subscription_succeeded 
+0

しかし、その後、他のタブにそれが反映されるべきですあなたはそのテストをしましたか? – Hackerman

+0

しました。 2つのタブと1つにリロード –

答えて

4

my_eventイベントのバインディングを作成しました。このエラーは、pusher:subscription_succeededイベントのコールバックがないと不満を表明しています。それを捕らえて処理したい場合は、バインディングを作成する必要があります。このアプリは、別のタブであなたがプッシャーサイトにログインし、AN新しい通知を作成します....開いたコンソールで実行されていながら

https://pusher.com/docs/client_api_guide/client_presence_channels#pusher-subscription-succeeded

channel.bind('pusher:subscription_succeeded', function(members) { 
    alert('successfully subscribed!'); 
}); 
+0

私はこのchannel.bindをmy_eventと置き換えますか? –

+0

複数のイベントにバインドできます。このエラーは、 'pusher:subscription_succeeded'イベントにバインドされたハンドラがないことを示しています。 –

+1

ありがとう:)これは動作します。私は以前それを知りませんでした。 –

関連する問題