Как изменить html id в переменную Laravel - PullRequest
0 голосов
/ 20 марта 2020

У меня есть html строка кода <span id="mycount"></span>, которая отображает живые данные (число) из базы данных, поэтому предположим, что она отображает 5 из базы данных. То, что я хочу сделать, это использовать оператор if, как это @if(5 > 0). Так возможно ли изменить id="mycount" в переменную или любым другим способом, чтобы я мог использовать оператор if?

Html

<span id="mycount"></span>  //This displays 5

Я хочу получить что-то вроде это

 @if(5 >0)
 //display data
 @else
 @endif

Javascript

function getCount() {
$.ajax({
type: "GET",
url: '{{route('live.review')}}',
success: function(data) {
    $('#mycount').html(data);
   setTimeout(getCount, 1000);
}
});

}
getCount();

1 Ответ

0 голосов
/ 20 марта 2020

Вы можете предпочесть не использовать блейд для обработки этой ситуации, поскольку вы используете ajax на внешнем интерфейсе для управления этим компонентом DOM. альтернатива, которую я бы использовал в вашем случае:

const axios = require('axios');

async function getCount() {
 try {
   const data = axios.get('{{route('live.review')}}');
   const elCount = document.getElementById('#mycount');
   if (data > 0) {
     // const elText = document.createTextNode(data);
     // elCount.appendChild(elText);
     elCount.style.visibility = 'visible';
     elCount.innerHTML(data);
     return;
   }
   elCount.style.visibility = 'hidden';
 } catch (e) {
   window.console.error('Error! ', e.message);
 }
}

setTimeout(getCount, 1000);

Использование Ajax

function getCount() {
  jQuery.ajax({
    type: 'GET',
    url: '{{ route("live.review") }}',
    success: (data) => {
      const elCount = jQuery('#myCount');
      if (data > 5) {
        elCount.html(data);
        elCount.show();
        return;
      }
      elCount.hide()
    },
    error: (error) => {
      window.console.error('Error! ', error.message)
    },
  });
}

setTimeout(getCount, 1000)

Всегда хорошо также быть уверенным в результатах вашего запроса, поэтому Для гарантии, каждый раз, когда вы делаете запрос, снимайте журнал с результатом запроса только для гарантии window.console.log(data) (В среде разработки, конечно!)

...