Tengo un proyecto de citas. Estamos usando laravel 6 y jquery 3.4.1
El problema es que necesito dibujar un div cuando recibo AJAX.
Entonces, javascript y plantilla de hoja:
static countNewMessages() { $.get('/some/link/here', results => { let total = 0; if (results.length === 0) { $('.chat__list-block').each(function (index) { $(this).removeClass('chat__list-block_new'); }); $('.chat__list-non-read-counter').addClass('chat__list-non-read-counter_hidden').each(function (index) { $(this).text(''); }); $('#number-of-new-messages').addClass('d-none').removeClass('d-flex').html(''); $('#inbox-messages-count-title').html('0'); return false; } results.forEach(v => { if (Chat.containers?.threads) { let threadElement = $('.chat__list-block[data-pid=' + v.from_userid + ']'); threadElement.addClass('chat__list-block_new'); threadElement.find('.chat__list-non-read-counter') .addClass('chat__list-non-read-counter_hidden') .text(v.count); if (0 < threadElement.length && !threadElement.hasClass('chat__list-block_active') && 0 < v.count) { threadElement.find('.chat__list-non-read-counter') .removeClass('chat__list-non-read-counter_hidden'); } } total += v.count; $('#number-of-new-messages').addClass('d-flex').removeClass('d-none').html(total); $('#inbox-messages-count-title').html(total); }); }); } @if(count($threads)) <div>Chat requests</div> @else <div>No chat requests</div> @endifEl comportamiento estándar de if-else en la plantilla me queda bien. Si un usuario visita la página pero no tiene mensajes se muestra el segundo bloque, y si tiene mensajes se muestra el primer bloque. Pero si un usuario que está en el bloque "sin solicitudes de chat" y recibe mensajes nuevos, el bloque "solicitudes de chat" se procesa solo después de una actualización completa de la página.
Si necesita más información, por favor hágamelo saber
Prueba esto :
@if(count($threads)) <div data-threads-count="{{ count($threads) }}">Chat requests</div> @else <div data-threads-count="{{ count($threads) }}">No chat requests</div> @endifAhora puede acceder al recuento de subprocesos utilizando la función de datos en jquery ex:
$(selector).data('threads-count');o
$(selector).attr('data-threads-count');Ambos devolverán el recuento de subprocesos
espero haberte sido util 😊