Laravel 7 - отправить ajax-запрос на получение последних (n) сообщений для конкретного контакта в папке Входящие и визуализировать их на странице fetched _messages


Laravel 7 - отправить ajax-запрос на получение последних (n) сообщений для конкретного контакта в папке Входящие и визуализировать их на странице fetched _messages

04.10.2020 12:43:33 Просмотров 43 Источник

JSON-данные, необходимые для визуализации на fetched_messages

ChatController @method "fetchMessages"

/**
 * Fetch all messages related to specific contact
 *
 * @return Message
 */
public function fetchMessages($id)
{

    $messages = DB::table('messages')
       ->where(function ($query) use($id) {
           $query->where('sender_id', Auth::user()->id)
                 ->where('receiver_id', $id);
       })
       ->orWhere(function ($query) use($id) {
           $query->where('sender_id', $id)
                 ->where('receiver_id', Auth::user()->id);
       })
       ->latest()
       ->paginate(20);
    return Response::json($messages);
  
}

Ajax для получения идентификатора от Блейда к ChatController

$(document).ready(function(){

    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    $('.tab-next').click(function(e){
        e.preventDefault();
        let index = $(this);
        let userId = $(this).attr('user-id');
        $.ajax({
            type:'GET',
            url:'/messages/fetch/' + userId,
            success:function(response){
                console.log(response);
   
            }
        });
    });
    
});

Чат маршруты на web.php

Route::get('messages', 'ChatsController@index')->name('msg');
Route::get('messages/fetch/{id}', 'ChatsController@fetchMessages')->name('msg.fetch');
Route::get('messages/post', 'ChatsController@sendMessage')->name('msg.post');

Любая помощь будет оценена по достоинству. Заранее спасибо

У вопроса есть решение - Посмотреть?

Ответы - Laravel 7 - отправить ajax-запрос на получение последних (n) сообщений для конкретного контакта в папке Входящие и визуализировать их на странице fetched _messages / Laravel 7 - Send ajax request to fetch latest (n) of messages for a specific contact in inbox and render them into page fetched _messages

Является ответом!
Mostafa Hana

05.10.2020 01:28:17

Я так много работал над этим, но знаешь что? Решение, которое я сделал, состоит в том, чтобы добавить ответ данных, возвращаемый в json с помощью javascript и HTML. Если у кого-то есть похожая задача и вы не знаете, с чего начать, не стесняйтесь обращаться ко мне по электронной почте: mostagenius@gmail.com-я обеспечу вас стартовой искрой.

Помочь в развитии проекта:
Закрыть X