尝试使类似功能使用Ajax后出现内部服务器错误500 - javascript

我目前正在尝试使我喜欢的功能使用AJAX请求,以使该页面不会在用户喜欢图像时刷新,但是,每当我单击div时,我就遇到“ 500,内部服务器错误”应该触发AJAX请求。

可悲的是,我不知道如何解决内部服务器错误500。

这是用户喜欢图像的视图中的相关代码:

<div class="submit-btn like" id='{{ $image->id }}'>Like</div>

<script>
    var token = '{{ Session::token() }}';
    var urlLike = '{{ route('likeArtwork') }}'
</script>

这是我的JavaScript:

$('.like').on('click', function(event) {
    var imageId = event.target.id;

    $.ajax({
        method: 'POST',
        url: urlLike,
        data: {
            imageId: imageId,
            _token: token
        }
    }).done(function(response) {

    });
});

我的张贴路线:

Route::post('/artwork/like', 'LikeController@likeArtwork')->name('likeArtwork');

最后是我的likeArtwork()函数:

public function likeArtwork(){
    $id = $request['imageId'];
    $user = Auth::user();
    $liked = Like::where('user_id', $user->id)->where('image_id', $id)->first();

    if ($liked) {
        $liked->delete();
    } else {
        $like = new Like();
        $like->image_id = $id;
        $like->user_id = $user->id;

        $like->save();
    }

    return redirect()->back();
}

javascript参考方案

public function likeArtwork(Request $request){
    $id = $request->input('imageId');
    $user = Auth::user();
    $liked = Like::where('user_id', $user->id)->where('image_id', $id)->first();

    if ($liked) {
        $liked->delete();
    } else {
        $like = new Like();
        $like->image_id = $id;
        $like->user_id = $user->id;

        $like->save();
    }

    echo "success";

    //return redirect()->back(); you don't want to send another request
}

您可能要检查image_id是否存在,然后使用attach()detach() methods。例如。 Image::find($id)->likes()->attach(...)

粗糙的Unicode->没有CLDR的语言代码? - javascript

我在写字典应用。如果用户键入Unicode字符,我想检查该字符是哪种语言。例如字 - returns ['zh', 'ja', 'ko'] العربية - returns ['ar'] a - returns ['en', 'fr', …

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

如何使用Javascript将字典列表解析为JSON格式? - javascript

我正在尝试解析JSON格式的词典列表,以便可以使用它们的数据创建一组列表项,其中使用此数据生成文本和ID。我将以下内容传递到我的网页,并在投放之前将其存储在隐藏的div中: [{'text': 'org1', 'id': 'org1ID'}, {'text':…

打印二维阵列 - javascript

我正在尝试打印子元素。在this example之后。怎么做?。$myarray = array("DO"=>array('IDEAS','BRANDS','CREATIVE','CAMPAIGNS'), "JOCKEY"=>a…

剃刀付款集成->如何通过关闭按钮X检测剃刀付款模型是否关闭 - javascript

当用户关闭而无需付款时,我在CI框架中使用Razorpay,请创建razor支付模型,然后取消订单,我希望按状态更改为已取消的状态触发查询。所以我怎么能检测到这一点。我已经通过单击jQuery单击关闭功能但无法使用... javascript大神给出的解决方案 Razorpay提供了JS方法来检测模式关闭。您编写的任何JS代码都不会在结帐页面上运行,因为它是…