я хочу получить данные в коде javascript?

#javascript #jquery #laravel

#javascript #jquery #laravel

Вопрос:

Я новичок в laravel и хочу извлекать данные из базы данных в код скрипта, но, к сожалению, я не знаю, как это сделать, пожалуйста, у кого-нибудь есть идея, пожалуйста, помогите мне, спасибо.

пожалуйста, проверьте изображение здесь https://ibb.co/Km75pQS

ответ здесь

 [
  {
    "id": 160,
    "year": 2020,
    "name": "Mazhab e Islam ki Mubarak 
       Taleemaat",
    "audio_file": null,
    "slug": null,
    "downloads": null,
    "date": "2020-06-08",
    "type": 5,
    "sort": null,
    "status": 1,
    "created_at": "2020-10-20T17:37:59.000000Z",
    "updated_at": "2020-10-20T17:43:13.000000Z"
  }
]
  

контроллер

   public function fridaySermon()
        {
    
            $data = [
    
                'fridaySermons' => Audio::where('type', 5)->get(),
    
            ];
            return view('friday-sermon', $data);
        }
  

скрипт

  // initialize playlist and controls
        var index = 0,
            playing = false,
            mediaPath = '{{url('')}}/assets/friday-sermon/',
            extension = '',
            tracks = [
                     // get data here 
                {
                "track": "<i class='fa fa-headphones'></i>",
                "name": " <span class='playerTitle'>Title:</span> Mazhab e Islam ki Mubarak Taleemaat <span class='bottomPlyrDcsp'><br> <span><i class='fa fa-calendar'></i> 20-Mar-2020 | <i class='fa fa-clock-o'></i> 20:34 | <i class='fa fa-download'></i> 558</span></span>",
                "duration": " <i class='fa fa-play-circle'></i>",
                "file": "20-mar-2020"
            }],
            buildPlaylist = $.each(tracks, function(key, value) {
                var trackNumber = value.track,
                    trackName = value.name,
                    trackDuration = value.duration;
                if (trackNumber.toString().length === 1) {
                    trackNumber = '0'   trackNumber;
                }
                $('#plList').append('<li> 
                    <div class="plItem"> 
                        <span class="plNum">'   trackNumber   '</span> 
                        <span class="plTitle">'   trackName   '</span> 
                        <span class="plLength">'   trackDuration   '</span> 
                    </div> 
                </li>');
  

Комментарии:

1. поместите эти данные в tempalte… покажите свой шаблон для этого представления.

Ответ №1:

Это довольно широкий вопрос, но на его основе вам нужно из вашего «внешнего интерфейса» (js / jQuery) сделать запрос к вашему «внутреннему» приложению Laravel.

Для этого я бы рекомендовал использовать JS Fetch API (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch ) (при необходимости есть и другие способы) из вашего интерфейсного приложения.

Прежде чем запрашивать свои данные из вашего Laravel API, серверный Laravel API должен иметь конечные точки, настроенные для фактического предоставления запрашиваемых данных. Вот пример руководства: https://www.toptal.com/laravel/restful-laravel-api-tutorial

Существует много подобных руководств, поэтому не стесняйтесь найти тот, который лучше всего подходит для вас.