我正在寻找ajax请求来获取这样的产品:
$.ajax({
url: '{{ route('filter-products') }}',
type: 'POST',
data: {_token: '{{ csrf_token() }}', filters: filters, category_id: {{ $category->id }} }
})
.done(function(products) {
console.log(products)
let html = ''
for(product of products) {
html += '<div class="col-md-4 women-grids wp1 animated wow slideInUp" data-wow-delay=".5s">'
html += '<a href="product-route-here">'
html += '<div class="product-img">'
html +=
html += '</div>'
html += '</div>'
console.log(html)
}
})
.fail(function() {
console.log("error")
})
.always(function() {
console.log("complete")
})
我的路线:
Route::get('/product/{slug}', 'ProductController@show')->name('product');
问题在于我需要为产品链接生成<a href>
在laravel中,当我打印产品时,我将其称为route('product', $product->id)
,但在这种情况下,如何将产品ID传递给路由功能以生成链接?
答案 0 :(得分:3)
如果您id
改变了product
html += '<a href="product-route-here">'
到
html += '<a href="/product/"'+product.id+'>'
如果你要制作缩小的js,最后也会使用终止符号冒号;
。
答案 1 :(得分:2)
如果您的ajax代码位于blade
文件上,则在该视图文件中添加以下行。这一行将生成url直到产品,然后你可以在你的ajax代码中连接你的id。
<script>var product_url = "{{url(' / ')}}/product/";</script>
在您的ajax代码中添加以上行使用product_url
变量后,如下面的代码。
html += '<a href="' + product_url + product.product_id + '">'