Я создаю приложение для чата с laravel и pusher, и мне нужна помощь с трансляцией событий от конечной точки pusher и до нее
После нескольких часов поисков и попыток я обнаружил, что онлайн-решение - это добавление токена csrf в мои заголовки, потому что laravel нуждается в этом в каждом посте. Я попытался добавить csrf_token в мой тег head в html, чтобы устранить ошибку, но все еще получаю POST http://localhost:8000/broadcasting/auth 419 (неизвестный статус). Также я удостоверяюсь, что учетные данные API добавлены правильно. Все это я работал над, но до сих пор не понимаю. Также у меня есть частный канал, который я аутентифицировал в channel.php, вернув true.
Это мой app.js
const app = new Vue({
el: '#app',
data: {
message: '',
chat: {
message:[],
user:[],
color:[],
"_token": "{{ csrf-token() }}"
},
},
methods: {
send(){
if (this.message.length != 0){
this.chat.message.push(this.message);
this.chat.user.push("You");
this.chat.color.push("success");
axios.post('/send', {
message : this.message,
})
.then(response => {
console.log(response);
this.message = '';
})
.catch(error => {
console.log(error);
});
}
}
},
mounted() {
Echo.private('private-chat')
.listen('ChatEvent', (e) => {
this.chat.message.push(e.message);
this.chat.user.push(e.user);
this.chat.color.push("warning");
console.log(e);
});
}
This is my chatController.php
public function send(Request $request)
{
return $request->all();
$user = User::find(Auth::id());
broadcast (new ChatEvent($request->message, $user));
}
// Broadcast.js
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'd2f34886870b9bb0c1cb',
cluster: 'eu',
encrypted: true,
});
I expect to have all my events broadcast when users subscribed to the channel but I am getting POST http://localhost:8000/broadcasting/auth 419 (unknown status)