Добавление комментария в модал от AJAX в laravel Blade - PullRequest
0 голосов
/ 22 декабря 2018

Я делаю систему комментариев.Все идет хорошо, как редактировать, скрывать, отвечать и т. Д. Но не могу добавить комментарий от Ajax. Back-end работает отлично. Не знаю, как работать с front-end Это потому, что для добавления требуется целый модал, чтобы он работал и работал, и я понятия не имею, как это сделать..

Комментарий модальный

<div class='media pl-3 pt-3 comment'>
<div class='comment-user-image'>
    <img src='/storage/user/profile_images/{{$comment->user->avtar}}' class='mt-1 rounded-circle img-fluid' style='width:30px; height:30px;'>
</div>
<div class='media-body comment-user'>
    <div class="dropdown float-right dropleft">
        <i class="fa fa-ellipsis-v pr-4" data-toggle="dropdown" class="d-inline-block"></i>
        <div class="dropdown-menu shadow-sm">
            @if(Auth::user() && Auth::user()->user_id == $comment->user_id)
                <a class="comment-edit dropdown-item" data-value="{{$comment->comment}}" data-id="{{$comment->comment_id}}" href="#">Edit</a>
                    <a class="comment-hide dropdown-item" data-id="{{$comment->comment_id}}" href="#">Hide</a>     
        </div>
    </div>
    <div>
        <div style="font-weight:600;font-size:16px;"><a href="#viewprofile" class="comment-username d-inline-block">{{$comment->user->user_name}}</a></div>
        <div id="comment-content" data-value="{{$comment->comment}}" class="d-inline-block">{{$comment->comment}} </div>
    </div>
    <input type='text' class='form-control edited-comment' name='edited-comment' value='{{$comment->comment}}'>
    <!-- If its not guest show edit option -->
    <div class="post-reactions">
        <small class="like-reply-time">            
                    <a class = "comment-vote pr-2" data-value = "{{$comment->comment_id}}" href = "#">Like</a>

                <p class="pl-2 d-inline"> {{$comment->created_at->diffForHumans(null,true,true)}} ago</p>
                </small>
    </div>
</div>
<!-- comment media border -->

AJAX-код для добавления комментария

 $('input[name=add-comment]').keypress(function(key) {
    if (key.which == 13 || key.keyCode == 13) {
        var comment_input = $('input[name=add-comment]').val();
        var postid = $('.post_id').data("value");
        $.ajax({
            url: '/comment',
            method: 'post',
            data: {
                comment_input,
                postid,
                 _token: '{{csrf_token()}}'
            },
            success: function(data) {
                $('.add-comment').val("");

            },
            error: function(xhr, textStatus, thrownError) {
                $('#comment_error').text('&#9888; Some Error occured');
            }
        }); // ajax end
    }
}); 

Любая помощь будет оценена !!Заранее благодарю и извините, если я сделал что-то глупое!

1 Ответ

0 голосов
/ 22 декабря 2018

Вы должны изменить свой код следующим образом,

 $('input[name=add-comment]').keypress(function(key) {
    if (key.which == 13 || key.keyCode == 13) {
        var comment_input = $('input[name=add-comment]').val();
        var postid = $('.post_id').data("value");
        $.ajax({
            url: '/comment',
            //instead of method you have to write type
            type: 'post',
            data: {
                comment_input,
                postid,
                 _token: '{{csrf_token()}}'
            },
            success: function(data) {
                $('.add-comment').val("");

            },
            error: function(xhr, textStatus, thrownError) {
                $('#comment_error').text('&#9888; Some Error occured');
            }
        }); // ajax end
    }
}); 
...