gpt4 book ai didi

javascript - 从过滤器中成功获取结果后如何在 Laravel 8 中的 Blade 文件中显示

转载 作者:行者123 更新时间:2023-12-04 13:30:17 25 4
gpt4 key购买 nike

我正在搜索页面中的过滤器部分,但问题是在主搜索页面中,所有结果都是从 Controller 循环的,现在我正在使用 jquery 进行过滤过程,但事情令人困惑。如何以正确的方式做到这一点?
所以这里是过程:
第 1 步:用户搜索诸如“support”之类的内容,然后系统转到 searchController 文件并给出结果

return view('/search')->with(["documents" => $results, "filters" => $filters]);
这里 $filter 表示类别过滤器;像这样
enter image description here
然后当用户单击任何类别时,它将过滤结果,但现在问题是我正在使用 jquery,现在事情变得很奇怪。有人可以帮我解决这个问题。
JS代码:

$(document).on("click", ".category_filter1",function() {
var test = new Array();
$("input[name='category_filter']:checked").each(function() {
test.push($(this).val());
});
showValue(test);
});

function showValue(data){
$.ajax({
'url': 'search/filter/'+(data.length > 0 ? data : "all"),
'type': 'GET',
success: function(response){ // What to do if we succeed
if(response.data == "success")
document.getElementById('result').innerHTML = response.categories;
},
error: function(response){
// alert('Error');
}
});
}

和所有结果来自的 Controller :

public function filter($data){
$t_data = explode(',' , $data);
$filters = $this->load_filters();
if(count($t_data)>0 && $t_data[0]!== "all"){
$results = DB::table('documents')
->whereIn('category', $t_data)
->paginate(5);
}else{
$results = Document::paginate(5);
}
return redirect('/search')->with(["documents" => $results, "filters" => $filters]); // This part is really confusing
}

所以流程将是这样的:
enter image description here

最佳答案

总结来自评论中的讨论,

  • 为了在不刷新页面的情况下调用 Controller ,您需要使用 ajax,(使用 jquery 或任何其他前端框架)。以 json 格式返回您的响应,
  • return response()->json($your_return_array);
  • 对于图像存储在公共(public)文件夹中,例如 public/images/your-image.png .
    然后在您的 Blade 中使用 url() 方法调用它。
  • <img src="{{url('/images/your-image.png')}}" alt="Image"/>

    关于javascript - 从过滤器中成功获取结果后如何在 Laravel 8 中的 Blade 文件中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65454342/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com