私はlaravel toastr機能を使用しています(リンクはこちら)。それが可能かどうか、または toastr 機能を cron ジョブ内に配置し、toastr の結果を Web ページにスローする方法はありますか?
また、Webソケットを使用したくありません。誰かに提案があるかどうか尋ねているだけです。
ありがとう
私はlaravel toastr機能を使用しています(リンクはこちら)。それが可能かどうか、または toastr 機能を cron ジョブ内に配置し、toastr の結果を Web ページにスローする方法はありますか?
また、Webソケットを使用したくありません。誰かに提案があるかどうか尋ねているだけです。
ありがとう
あなたが何をしたいのかがユーザーへの非同期メッセージであることを正しく理解していればOKです。それを行う1つの方法は、WebSocketを使用してそれをリッスンするJavaScriptを追加し、受信データがある場合はtoastrを表示することです。問題は、WebSocket が必要ないことです。もう1つのオプションは、ユーザーがページをロードしたらtoastrメッセージを表示することですが、サーバーからデータを取得するにはページのリロードが必要になるため、これはあなたが望むものではありません. メイン テンプレート ファイルには次のコードを含めることができます。
@if (Session::has('flash_notification.message'))
<script>
$(document).ready(function() {
toastr.{{ Session::get('flash_notification.level') }}
('{{ Session::get('flash_notification.message') }}');
});
</script>
@endif
CRONJOBから定期的に実行され、DBまたはファイルに書き込む必要がある別のスクリプトまたはLaravelコマンドが必要です。データが書き込まれたら、コントローラーまたはモデルでそれを読み取り、セッションに追加できます。タイムスタンプを使用して、トースターを重複して印刷しないようにすることができます。
または、エンドポイントを時々ポーリングする JavaScript をページに配置することもできます。更新があった場合は通知が表示されますが、Web サーバー (Apache) に余分な負荷がかかります。