У меня есть переменные data.data[key].thumb и data.data[key].image, и это внутри тега <script> в шаблоне Laravel Blade.
В этой строке есть ошибка, вызывающая следующее:
Use of undefined constant uploads - assumed 'uploads'
Код такой:
user_status += '<img src = "{{asset(uploads/' + data[key].image + '.' +
data[key].thumb + ')}}" class = "img-responsive"
style = "height:290px;" alt = "360-video-feature" /></div>';
user_status += '<img class = "OverlayIcon" src = "
{{asset('uploads/video_icon_overlay.png')}}" alt = "" />';
Я не думаю, что вторая проблема является проблемой, потому что, если я удалю первую, ошибка исчезнет
Тогда я не знаю, просто мне показалось, что это было странно
может быть, вам не хватает одинарной цитаты перед загрузкой? Должен быть 'uploads/' + data[key].image
Цитаты - это всего лишь часть проблемы. Кажется, вы смешиваете переменные JS и PHP, и это невозможно сделать так, как вы делаете. Это: {{ asset(uploads/' + data[key].image + '.' + data[key].thumb + ') }} не будет работать, даже если вы исправите кавычки. Это потому, что переменная data доступна только после того, как ваш шаблон Blade скомпилирован и отображается в браузере.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы не можете так смешивать PHP и JavaScript. Код PHP выполняется на сервере при рендеринге представления, а код JavaScript - на стороне клиента. Даже если бы это было возможно, ваш синтаксис все равно был бы неправильным.
user_status += '<img src = "{{asset(uploads/' + data[key].image вам не хватает цитаты перед uploads/. Это должен быть "uploads.
Что вы можете сделать:
user_status += '<img src = "' +
'{{asset("uploads/")}}' + data[key].image + '.' + data[key].thumb + '"' +
' class = "img-responsive" style = "height:290px;" alt = "360-video-feature" /></div>';
Таким образом, '{{asset("uploads/")}}' будет заменен строкой URL-адреса для папки загрузок, а остальная часть URL-адреса будет добавлена через JavaScript. Вот как браузер это увидит:
user_status += '<img src = "' +
'http://www.example.com/uploads/' + data[key].image + '.' + data[key].thumb + '"' +
' class = "img-responsive" style = "height:290px;" alt = "360-video-feature" /></div>';
Мне кажется, что у вас user_status должен быть таким:
user_status += '<img class = "OverlayIcon" src = " {{asset(\'uploads/video_icon_overlay.png\')}}" alt = "" />';Как и сейчас, я не уверен, действительно ли простые кавычки в середине понимаются как часть строки, а не просто как маркеры остановки и начала.