Laravel 错误:Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 无消息

8 浏览
0 Comments

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)

0