【问题标题】:image path using asset in JavaScript在 JavaScript 中使用资产的图像路径
【发布时间】:2019-08-31 18:16:17
【问题描述】:

我的数据库中有一个存储路径。现在我想根据存储在数据库中的路径显示图像。这适用于 HTML 和 Laravel。但是使用Javascript追加时,路径不正确。(js文件在公共文件夹中)。laravel的asset()和url()函数不会在html中解析,因为它们是刀片页面。

<div id="diFproD">
    @php $index=0; @endphp @for($i=0;$i < count($productDetails);)
        <div class="row">
            @for($j=0;$j < 4; $j++)
                <div class="col-lg-3 col-md-4 col-xs-5 thumb">
                    <a class="thumbnail"
                       href="{{url('/product/macchi-product-sapCode-'.$productDetails[$i]['ProductName'].'-'.$productDetails[$i]['ProductId'])}}"
                       style="box-shadow: 0px 1px 3px 3px #337ab724">
                        <img src="{{asset($productDetails[$i]['ProductPath'])}}" class="img-rounded"/>
                        <p>Para 1 Test 1</p>
                        <p>Para 1 Test 1</p>
                    </a>
                </div>
                @php $i++;if($i == count($productDetails)){ break; } @endphp
            @endfor
        </div>
    @endfor
</div>

尝试了一些东西。

var cntProd = data.length;
$('#diFproD').empty();
var rowDivPro = '';
for (var i = 0; i < cntProd;) {
    rowDivPro += '<div class="row">';
    for (var j = 0; j < 4; j++) {
        var prodId = data[i].ProductId;
        var prodWeit = data[i].ProductWeight;
        var prodName = data[i].ProductName;
        var prodPath = data[i].ProductPath;
        var custLoc = '{{ url("/product/macchi-product-sapCode-" }}';
        rowDivPro += '<div class="col-lg-3 col-md-4 col-xs-5 thumb">';
        rowDivPro += "<a class='thumbnail' href='"
            + custLoc
            + prodId
            + "' style='box-shadow:0px 1px 3px 3px #337ab724'>";
        rowDivPro += '<img src="{{url(' + prodPath
                                + ')}}" class="img-rounded">';
        rowDivPro += '<p>Para 1 Test 1</p><p>Para 1 Test 1</p>';
        rowDivPro += '</a>';
        rowDivPro += '</div>';
        i++;
        if (i == cntProd) {
            break;
        }
    }
    rowDivPro += '</div>';
}
$('#diFproD').append(rowDivPro);

如何在javascript中为图像设置src,为锚标记设置href 其中 href 是路由路径

图片路径类似于localhost:8080/MyProject/public/{{url(/IMAGES/image.png)}} 它应该是这样的而不是localhost:8080/MyProject/public/IMAGES/image.png

【问题讨论】:

  • 您的&lt;a class='thumbnail 未关闭。 prodPath 的值是多少?
  • 我认为您正在混合前端和后端。 url() 函数是 laravel 函数(我认为),您将它连接到 javascript 变量 prodPath?
  • 我知道我在 laravel 中使用的 url,但我需要在 javascript 中使用类似的东西,以便我可以从数据库中获取图像路径并显示存储在文件夹中的图像。有什么办法吗。还有无法使用锚标记调用路由
  • 并且是一个prodPath javascript 变量。 prodPath 的示例值是多少?
  • eddie..prodid 和产品路径来自数据库。问题是我在锚标签 href 和图像 src 中都没有得到正确的路径

标签: javascript laravel


【解决方案1】:

试试这个,

    var prodPath = '"'+{{url("'"+data[i].ProductPath+"'")}}+'"';

rowDivPro += '<img src="'+prodPath+'" class="img-rounded">';

【讨论】:

  • 兄弟它不是 php 变量它是 javascript 变量
  • 编辑了我的答案
  • 已经尝试过了。未获取有效路径。我的 js 文件在公用文件夹中,图像也在公用文件夹中
  • prodPath 和 url(prodPath) 的值是多少
  • src="IMAGES/images.png".查看我的 laravel 刀片代码我想要使用 javascript 做同样的事情
猜你喜欢
  • 2014-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-10
  • 1970-01-01
  • 2013-08-02
相关资源
最近更新 更多