2

I trying to create CHAT in fresh Laravel 6.0 framework. I following this tutorial https://pusher.com/tutorials/chat-laravel

Routes file, web.php

Route::get('messages', 'ChatsController@fetchMessages');
Route::post('messages', 'ChatsController@sendMessage');

JavaScript files

window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

import Pusher from 'pusher-js';

Echo.private('chat').listen('MessageSent', (e) => {
    this.messages.push({
        message: e.message.message,
        user: e.user
    });
});

import Echo from "laravel-echo"
window.Echo = new Echo({
    broadcaster: 'pusher',
    key: 'xxxxxx',
    cluster: 'eu',
    encrypted: false,
    useTLS: false
});

const app = new Vue({
    el: '#app',

    data: {
        messages: []
    },

    created() {
        this.fetchMessages();
    },

    methods: {
        fetchMessages() {
            axios.get('messages').then(response => {
                this.messages = response.data;
            });
        },

        addMessage(message) {
            this.messages.push(message);

           axios.post('messages', message).then(response => {
              console.log(response.data);
            });
        }
    }
});

BroadcastServiceProvider.php

class BroadcastServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Broadcast::routes();
        Broadcast::channel('chat', function ($user) {
            return Auth::check();
        });
    }
}

MessageSent.php Event

public function broadcastOn()
{
    return new PrivateChannel('chat');
}

MySQL input works but fetch on another browser NO! There is Error 500 in Console Log

POST http://localhost:8000/messages 500 (Internal Server Error)<br>
Uncaught (in promise) Error: Request failed with status code 500<br>
    at createError (createError.js?2d83:16)<br>
    at settle (settle.js?467f:17)<br>
    at XMLHttpRequest.handleLoad (xhr.js?b50d:59)<br>

There is fresh laravel log file: https://pastebin.com/vnjNUd2n

  • ChatsController.php https://pastebin.com/3TXAaGQe – John Jovanovik Sep 07 '19 at 18:57
  • [Enable error logging in PHP](https://stackoverflow.com/a/26700901/1928235), post your request, and see what the problem is in the log. Side note: why are you installing `axios` and `Echo` on `window`? It would be better to just keep them internal to your module. – user4520 Sep 07 '19 at 19:04

0 Answers0