【问题标题】:variable inside asset() in jquery inside laravel blade throws errorlaravel刀片内jquery中asset()内的变量抛出错误
【发布时间】:2021-06-02 02:12:27
【问题描述】:

这是 jquery 中的字符串,后者嵌入在 laravel 刀片文件中。 但这似乎不是办法。

这是在标签内

var addvar = 'uploads/'+data.data[key].indexer+'.'+data.data[key].thumb;

user_status += '<img style="height: 290px;" alt="360-video-feature" src=" 
{{asset(addvar)}}" alt="" />';

它抛出错误:

使用未定义的常量 addvar - 假定为“addvar”。

【问题讨论】:

  • asset($addvar) 解决问题了吗?
  • 不,这不能解决问题
  • @mulquin,这是 jquery,你已经给了$addvar
  • 我知道,但是Use of undefined constant ... 是 PHP 错误
  • 其当前设置的方式不起作用 - PHP 在 JS 之前被解析(因此它的读取 addvar 为 php) - 为此,addvar 需要是一个 php 变量,所以它变成了@ 987654326@,即使这样也需要在页面加载之前设置。

标签: php jquery laravel


【解决方案1】:

使用+添加js变量

 user_status += '<img style="height: 290px;" alt="360-video-feature" src="'+addvar +'" alt="" />';

使用这个{{asset(addvar)}}

就像用常量 addvar 调用一样,因为它既不是变量也不是函数

为了确保路径在 src 中的 url 之前使用 /

   var addvar = '/uploads/'....

如果你想asset() 像这样使用

user_status += '<img style="height: 290px;" alt="360-video-feature" src="{{asset("/")}}'+addvar+'" alt="" />';

【讨论】:

  • 如果不是用asset()函数编写的,它不会引用正确的链接
  • 很抱歉,但这不起作用,因为资产没有参数并抛出错误为类型错误:函数资产()的参数太少,
  • 将/ 设为asset("/")
  • 你能帮我把这个添加到类似 Auth::find(data.data[key].user_id)->first_name 的字符串上吗
  • @pravinpoudel : 你能为此添加另一个问题吗?
【解决方案2】:

感谢您的评论,我通过不同的方式来获得它并做到了

var base_url = '{!! url('/') !!}';
var name1 = '/uploads/'+data.data[key].video_id+'.'+data.data[key].thumb;

并将字符串写为:

user_status += '<img style="height: 290px;" alt="360-video-feature"      
src="'+base_url+name1+'" alt="" />';

万岁,它奏效了……谢谢你们所有人……

【讨论】:

  • 我刚刚做了谢谢...谢谢你的回答
  • 虽然 url 和 asset 在这种情况下为您工作,但在其他 for future ference 中存在差异
【解决方案3】:

我认为{!! url ('/') !!} 是正确的。

【讨论】:

    猜你喜欢
    • 2020-11-16
    • 2013-10-23
    • 1970-01-01
    • 2018-04-19
    • 2017-02-08
    • 2013-01-03
    • 1970-01-01
    • 2014-12-08
    • 2017-02-24
    相关资源
    最近更新 更多