Laravel 错误:Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 无消息
Laravel 错误:Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 无消息
我遇到了以下错误:
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 没有消息
我看过很多关于这个错误的帖子,但没有什么帮助。
这是我的laravel控制器:
id; // 获取与此用户相关的所有消息。 $messages = Messages::where('send_id', $user_id)->orWhere('receive_id', $user_id)->get(); foreach($messages as $message) { // 对于每个消息,我们想要获取我们发送或接收消息的人的名字和姓氏。 if($user_id == $message['send_id']) { // User_id 是我的id,所以我们不需要那个名字。 } else { // 我们想要获取他们的名字。 $user = User::where('id', $message['send_id'])->first(); // 将此用户添加到消息中。 $message['firstname'] = $user['firstname']; $message['lastname'] = $user['lastname']; // 添加 profile_img 的 url。 $message['profile_img'] = $user['profile_img']; // 添加正在与之对话的用户的id。 $message['correspondence_id'] = $message['send_id']; } if($user_id == $message['receive_id']) { // User_id 是我的id,所以我们不需要那个名字。 } else { // 我们想要获取他们的名字。 $user = User::where('id', $message['receive_id'])->first(); // 将他的名字添加到消息中。 $message['firstname'] = $user['firstname']; $message['lastname'] = $user['lastname']; // 这应该是接收图像的个人资料的图像(而不是其他用户)。 $currentUser = User::where('id', $message['send_id'])->first(); $message['profile_img'] = $currentUser['profile_img']; // 添加正在与你交谈的用户的id。 $message['correspondence_id'] = $message['receive_id']; } } return compact('messages'); } public function store(Request $request,$receive_id, $message) { // 获取当前用户。 $user_id = Auth::user()->id; $messages = new Messages(); $messages->fill($request->all()); $messages->send_id = $user_id; $messages->receive_id = $receive_id; $messages->message = $message; $messages->save(); $text = "消息已存储"; return compact("text"); } }
路由:
Route::post('/sendmessage/{receive_id}/{message}','MessagesController@store');
数据库结构:
id
, send_id
, receive_id
, created_at
, message
id 和 created_at 是自动填充的。
来自 Axios 的 Post 请求(vuex)
sendMessage({ commit }, payload){ var receive_id = payload.receive_id; var message = payload.message; console.log(payload) axios.post('/sendmessage/'+receive_id+'/'+message, { }).then(function (response) { console.log(commit); console.log("success"); }).catch((response) => { // 获取后端给出的错误 let errorobject = response.response.data.errors; for (let key in errorobject) { if (errorobject.hasOwnProperty(key)) { console.log(errorobject[key]); this.backenderror = errorobject[key]; } } }) }
数据已正确发送到请求中,当我在vue中运行它时,控制台显示以下错误:
app.js:26133 POST http://mysite.local/sendmessage/2/test 500 (Internal Server Error)