我正在嘗試實作搜索功能,目前,我正在實作單個搜索欄位,但將來會有更多。
問題是當我提交表單以搜索它提交空值的資料時,正如我在結果查詢中看到的那樣。即使我在輸入欄位中有輸入,console.log()也會列印else 塊。是什么問題,對我來說一切都很好,任何人都可以指出問題嗎?
刀
<form id="studSearchForm" autocomplete="off" method="GET" enctype="multipart/form-data">
@csrf
<div class="searchBox">
Search Student
<div class="searchContainer">
<div class="input-group">
<input id="studfnameSearch" name="studfnameSearch" type="text" class="form-control" placeholder="student first name">
<div class="input-group-append">
<div class="input-group">
<button type="submit" class="btn btn-secondary">
Search
</button>
</div>
</div>
</div>
</div>
<script>
$("#studSearchForm").submit(function(e) {
e.preventDefault();
const fd = new FormData(this);
var _url = '{{ route('student.fetch.route') }}';
$.ajax({
url: _url,
method: 'GET',
data: fd,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(response) {
console.log(response);
}
});
});
</script>
網路路由
Route::get('student-fetch', [StudentRegController::class, 'fetchStudent'])->name('student.fetch.route');
控制器
public function fetchStudent(Request $request) {
$fnameQuery = $request->input('studfnameSearch');
if (!empty($fnameQuery)) {
$studSearch = DB::table('school_students')->where('student_first_name', 'LIKE', "%{$fnameQuery}%")
->get('student_first_name');
return response()->json($studSearch);
} else {
return response()->json("empty search");
}
}

uj5u.com熱心網友回復:
FormData用于生成多部分表單資料請求體。
它與 GET 請求不兼容,GET 請求不能有請求正文并希望將資料放在查詢字串中。
通常我會建議使用URLSearchParams來生成查詢字串,但我不知道 jQuery 是否足夠現代以支持它。請考慮使用 jQuery serialize。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/480798.html
標籤:php jQuery 阿贾克斯 拉拉维尔 laravel-9
