Php 使用axios和pusher发送消息时出现错误500
我试图在fresh Laravel 6.0框架中创建聊天。 我将继续学习本教程 路由文件,web.phpPhp 使用axios和pusher发送消息时出现错误500,php,laravel,axios,pusher,laravel-echo,Php,Laravel,Axios,Pusher,Laravel Echo,我试图在fresh Laravel 6.0框架中创建聊天。 我将继续学习本教程 路由文件,web.php Route::get('messages', 'ChatsController@fetchMessages'); Route::post('messages', 'ChatsController@sendMessage'); JavaScript文件 window.axios = require('axios'); window.axios.defaults.headers.common[
Route::get('messages', 'ChatsController@fetchMessages');
Route::post('messages', 'ChatsController@sendMessage');
JavaScript文件
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事件
public function broadcastOn()
{
return new PrivateChannel('chat');
}
MySQL输入可以工作,但在另一个浏览器上获取不!
控制台日志中有错误500
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>
POSThttp://localhost:8000/messages 500(内部服务器错误)
未捕获(承诺中)错误:请求失败,状态代码为500
在createError(createError.js?2d83:16)
在结算时(结算js?467f:17)
在XMLHttpRequest.handleLoad(xhr.js?b50d:59)上
有一个新的laravel日志文件:ChatsController.php,发布您的请求,看看日志中有什么问题。旁注:为什么要在窗口上安装axios
和Echo
?最好将它们放在模块内部。