我正在向 laravel 中的控制器发送一个发布请求,但它显示 500 错误
Posted
技术标签:
【中文标题】我正在向 laravel 中的控制器发送一个发布请求,但它显示 500 错误【英文标题】:I am sending a post request to my controller in laravel but it is showing 500 error 【发布时间】:2019-10-26 14:19:14 【问题描述】:我正在向我的 post 控制器发送一个 ajax post 请求,但它显示 500 内部服务器错误
在我看来,Ajax 请求在 head 标记中带有元标记。
<script src="url('//code.jquery.com/jquery-1.11.1.min.js')"></script>
<script>
$.ajaxSetup(
headers:
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
);
$(document).ready(function()
$('.like').on('click', function(event)
event.preventDefault();
var isLike = event.target.previousElementSibling == null;
console.log(isLike);
$.ajax(
method: 'post',
url: '/liked',
data: isLiked: isLike, post_id:5
);
);
);
包含类似 Post 函数的 POst 控制器
public function likePost(Request $request)
$post_id = $request['post_id'];
$isLike = $request['isLike'] === 'true';
$update = false;
$post = Post::find($post_id);
$user = Auth::user();
$like = $user->like()->where('post_id',$post_id)>first();
if($like)
$already_liked = $like->isLiked;
$update = true;
if($already_liked == $isLike)
$like->delete();
return null;
else
$like = new Like();
$like->isLiked = $isLike;
$like->user_id = $user->id;
$like->post_id = $post->id;
if($update)
$like->update();
else
$like->save();
return null;
你能帮帮我吗
【问题讨论】:
错误 500 是服务器生成的错误。你的控制器有问题。发布您的控制器代码。 【参考方案1】:您可以尝试使用下面的代码
$.ajax(
url:" route('liked') ", //router in web.php
method:"POST",
data:query:query,
success:function(data)
//show data to html
);
//Laravel router web.php
Route::post('/liked','WebController@store')->name('liked');
【讨论】:
我的基本上不是一个表单,当我们点击一个链接时,它会将数据保存在数据库中 $like = $user->like()->where('post_id',$post_id)>first();你修改 ->first() 你看到了:***.com/questions/30154489/…以上是关于我正在向 laravel 中的控制器发送一个发布请求,但它显示 500 错误的主要内容,如果未能解决你的问题,请参考以下文章