下面是我的代码下拉过滤类别的职位我很困惑为什么它是返回2个很长的双页在浏览器中。
它显示双页,我很困惑如何通过jquery从控制器获取数据并正确显示它
Route::get('/home', [PostsController::class, 'index'])->middleware('guest');
//MY Controller
class PostsController extends Controller
{
//show all question in class model posts
public function index(Request $request){
$kategories = Kategori::all();
$provinsi = Provinsi::all();
$posted = posts::whereNotNull('published_at')->get();
if ($request->has('category_id')) {
$category_id = $request->input('category_id');
$posts = posts::where('kategori_id', $category_id)->get();
return view('main/posts',[
"posts" => $posts,
"kategori" => $kategories,
]);
}
else {
$posts = posts::all();
return view('main/posts',[
"posts" => $posts,
"kategori" => $kategories,
]);
}
}
<!--My Blade-->
@extends('layouts.main')
@section('dropdown')
<!--choose category -->
<div class="dropdown p-1">
<select name="category" id="category" class="form-control">
<option value="" class="text-center">- choose category -</option>
@foreach($kategori as $k)
<option value="{{ $k->id }}" class="text-center">{{ $k->nama }}</option>
@endforeach
</select>
</div>
@endsection
@section('container')
<div id="main_posts">
@foreach($posts as $p)
<div class="card p-4 rounded-4 mb-4" style="background-color:#171615">
<article class="mb-5">
<div class="d-flex">
<h1><i class="bi bi-person-circle"></i></h1>
<h5 class="ms-2 card-title">{{ $p->penanya }}</h5>
<h5 class="ms-1 card-title">Posted 2 Days ago</h5>
</div>
<h4 class="mt-2">{{ $p->judul }}</h4>
<text>{{ $p->pertanyaan }}</text>
<div class="mt-3">
<a href="{{ url('home',$p->slug) }}" class="link-info">See Answer</a>
</article>
</div>
@endforeach
</div>
@endsection
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#category').on('change', function() {
var category_id = $(this).val();
if (category_id) {
$.ajax({
url: '/home',
type: 'GET',
data: { category_id: category_id },
success: function(data) {
$('#main_posts').html(data);
}
});
} else {
$('#main_posts').html('');
}
});
});
</script>
1条答案
按热度按时间wko9yo5t1#
让我们有更新的代码更可靠,更容易理解。我已经添加/修改多个文件。请检查下面的文件,让我知道,如果它会帮助你。
路由/web.php
app/Http/Controller/PostController.php
您的刀片文件
新建刀片文件如下: