Guest User

Untitled

a guest
Oct 18th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. import Echo from "laravel-echo"
  2.  
  3. window.io = require('socket.io-client');
  4.  
  5. window.Echo = new Echo({
  6. broadcaster: 'socket.io',
  7. host: window.location.hostname + ':6001'
  8. });
  9.  
  10. <meta name="csrf-token" content="{{ csrf_token() }}">
  11.  
  12. BROADCAST_DRIVER=redis
  13.  
  14. Route::post('/push-message/', 'MessageController@push');
  15. Route::get('/messages', 'HomeController@index');
  16.  
  17. public function index() {
  18. return view('messages');
  19. }
  20.  
  21. public function push() {
  22. $event = new AppEventsMessages(auth()->user()->name, request('message'), request('userid'));
  23. broadcast($event);
  24. }
  25.  
  26. <!DOCTYPE html>
  27. <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
  28. <head>
  29. <meta charset="utf-8">
  30. <meta name="viewport" content="width=device-width, initial-scale=1">
  31.  
  32. <!-- CSRF Token -->
  33. <meta name="csrf-token" content="{{ csrf_token() }}">
  34.  
  35. <title>{{ config('app.name', 'Laravel') }}</title>
  36.  
  37. <link href="{{ asset('css/app.css') }}" rel="stylesheet">
  38. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  39. </head>
  40. <body>
  41. <div id="messages">
  42. <!-- Messages from database -->
  43. </div>
  44. <form id="chat">
  45. <textarea id="message"></textarea>
  46. <button type="submit">Send</button>
  47. </form>
  48. <script>
  49. <!-- Here we are setting socket io client -->
  50. Echo.private('user.{{auth()->user()->id}}')
  51. .listen('Messages', (e) => {
  52. $('#messages').append('<div class="message">'+e.data.name+': '+e.data.message+'</div>');
  53. });
  54. $('#chat').on('submit', function(e) {
  55. e.preventDefault();
  56. if($('#message').val() == "") {return false;}
  57. $.ajax({
  58. type: 'post',
  59. url: '/push-message'
  60. data: {
  61. userid: 1, //here logged as user with id 2
  62. message: $('#message').val(),
  63. '_token': {{ csrf_token() }}
  64. },
  65. success: function(success) {
  66. $('#messages').append('<div class="message">{{auth()->user()->name}}: '+$('#message').val()+'</div>');
  67. $('#message').val('');
  68. }
  69. });
  70. });
  71. </script>
  72. </body>
  73. </html>
Add Comment
Please, Sign In to add comment