我在laravel中有一个项目,但遇到问题GET http://localhost:8000/storage/img/ 404(未找到),就像一张照片,任何人都可以帮助我 该网站工作正常,但在devtools chrom中显示错误,我找不到问题
我有data.blade.html文件
@foreach($posts as $post)
@php
$img=$post->images->first();
$img_name=$img['image'];
@endphp
<a id="brick{{$post->id}}"href="/{{$post->id}}" class="card p-2 m-2 mb-3 shadow">
<div class="" >
<img class="card-img-top border" src="storage/img/{{$img_name}}" onerror="this.onerror=null;this.src='storage/img/car.jpg'" alt="Card image cap">
<div class="card-body">
<h5 class="card-title">{{$post->title}}</h5>
<h6 class="card-text">{{$post->text}}</h6>
<h4><span class="badge badge-primary">{{number_format($post->price,2)}} Dzd</span></h4>
</div>
</div>
</a>
@endforeach
和hameController
public function ok2()
{
$posts=Post::select('id','title','text','price','user_id')
->latest()
->paginate(1);
$view = view('data',compact('posts'))->render();
return response()->json(['html'=>$view]);
}
和Java脚本
$(function(){
var page=15 ;
$(window).on("scroll", function() {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
for(i=0;i<5;i++)
{
page++;
loadMoreData(page);
}
}
});
function loadMoreData(page){
$.ajax(
{
url: '/ok2?page=' + page,
type: "get",
beforeSend: function()
{
$('.ajax-load').show();
}
})
.done(function(data)
{
if(data.html == ""){
$('.ajax-load').html("No more records found");
return;
}
$('.ajax-load').hide();
var box = document.createElement('div');
box.innerHTML = data.html;
console.log(box);
bricklayer.append(box);
})
.fail(function(jqXHR, ajaxOptions, thrownError)
{
alert('server not responding...');
});
}
});
谢谢
答案 0 :(得分:0)
在刀片视图文件中,您致电$post->images
您应该确保已创建images
关系。
如果已创建images
关系。您应该使用Eager Loading以获得最佳速度。
并且您需要确保所有帖子都有图片。
最后,检查$img
变量:
@if (filled($img))
<img class="card-img-top border" src="storage/img/{{$img_name}}" onerror="this.onerror=null;this.src='storage/img/car.jpg'" alt="Card image cap">
@endif