laravel - Laravel 错误:Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 无消息
问题描述
我收到以下错误:
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message
我看过很多关于这个错误的帖子,但没有任何帮助。
这是我的 laravel控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Messages;
use App\User;
use Auth;
class MessagesController extends Controller
{
public function index()
{
// We need to be able to see each user that has corresponded with this particular user. And only display them once on their users list.
// Hence we made a 'correspondence_id' so we can filter that later on in vue.
// Grab current user.
$user_id = Auth::user()->id;
// Grab all messages related to this user.
$messages = Messages::where('send_id', $user_id)->orWhere('receive_id', $user_id)->get();
foreach($messages as $message) {
// for each message we want to grab the first and last name of the person we received or send the message to.
if($user_id == $message['send_id']) {
// User_id is my id, so we don't want that name.
} else {
// We want to grab their name.
$user = User::where('id', $message['send_id'])->first();
// Add this user to the message.
$message['firstname'] = $user['firstname'];
$message['lastname'] = $user['lastname'];
// Add profile_img url.
$message['profile_img'] = $user['profile_img'];
// Add id of user you are speaking to.
$message['correspondence_id'] = $message['send_id'];
}
if($user_id == $message['receive_id']) {
// User_id is my id, so we don't want that name.
} else {
// We want to grab their name.
$user = User::where('id', $message['receive_id'])->first();
// Add his first and last name to the message.
$message['firstname'] = $user['firstname'];
$message['lastname'] = $user['lastname'];
// This should have the image of the profile who is receiving the image (not the other user).
$currentUser = User::where('id', $message['send_id'])->first();
$message['profile_img'] = $currentUser['profile_img'];
// Add id of user speaking to you.
$message['correspondence_id'] = $message['receive_id'];
}
}
return compact('messages');
}
public function store(Request $request,$receive_id, $message)
{
// Grab current user.
$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 = "Message stored";
return compact("text");
}
}
路线:
Route::post('/sendmessage/{receive_id}/{message}','MessagesController@store');
db结构:
id
, send_id
, receive_id
, created_at
, message
id 和 created_at 自动填写。
来自 Axios (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) => {
// Get the errors given from the backend
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)
解决方案
推荐阅读
- php - Laravel linode部署500:服务器错误
- c# - 转换错误:类型 IList 不能隐式转换为 IEnumerable
- c++ - c ++如何在不改变end()的情况下擦除元素
- dart - Dart - 参数类型“String”不能分配给参数类型“String”
- julia - Julia TimeArray 构造函数中的“ArgumentError:时间戳必须严格单调”
- machine-learning - 贝叶斯网络结构学习的数据集
- c# - 如何确保 Thread.Sleep() 是同步的?
- networking - 创建 Kubernetes Pod 网络映射
- python-3.x - 命令在 vscode powershell 终端中不起作用
- python - 打印一个 numpy 数组列表