我想嘗試一下,如果我選擇了“下拉串列”中的一個值,它將自動替換同一頁面中的另一個值而不更新頁面,并使用 ajax,但在控制器部分我收到訊息“request=null”我即使我已經從“視圖”輸入到控制器的輸入名稱,也不明白。這是我的一些專案代碼
視圖刀片
<label class="col-sm-2 form-inline">Karyawan</label>
<select class="form-select select-name" id="idSelect" aria-label="Default select example" name="pilih-nama">
<option value="">-Pilih Karyawan-</option>
@foreach ($karyawan as $data)
<option value=" {{$data->nip_kyn}}">{{$data->nama_kyn}}</option>
@endforeach
</select>
控制器
public function showData(Request $request)
{
$nip = $request->input('pilih-nama');
$data = Karyawan::where('nip_kyn', $nip)->first();
return response()->json(['data' => $data]);
}
主視圖中的 Ajax 代碼
<script>
$(document).on('change', '.select-name', function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var hasil = $(this).val();
//
if (hasil == '') {
document.location.href = "unduhQR";
}
$.ajax({
url: "{{route('showData.index')}}",
type: 'post',
data: {
data: hasil
},
success: function(res) {
console.log(res.data)
// $('.nama-kar').html(res.data.nama_kyn)
// $('.idQr').html('NIP : ' res.data.nip_kyn)
},
error: function(xhr) {
// console.log(xhr)
}
})
})
</script>
我的路線
Route::post('/showQR', [QRCodeController::class, 'showData'])->name('showData.index');
但如果我像這樣改變我的控制器
$nip = 'NIP001'; // <-- Value from database
$data = Karyawan::where('nip_kyn', $nip)->first();
return response()->json(['data' => $data]);
它正在進行中,但這不是動態的,有什么建議可以解決這些人嗎?
uj5u.com熱心網友回復:
您需要像這樣發送資料
data: {pilih-nama: hasil}
老實說,你的變數名不好。你應該用好的來改變它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/396443.html
上一篇:jQuery文本搜索-使用ifelse條件時如何顯示“無結果”div?
下一篇:將陣列物件與元素的文本匹配
