這就是我的控制器和視圖的作業方式
控制器
class DayhomeController extend Controller{
public function index(){
$Dataset = Modal::all();
return view('DayHome')->with('DataSet',$DataSet)
}
看法
<div class="container" id="container1">
<input type="date" id="datepicker" name="datepicker" value="<?php echo date('Y-m-d'); ?>"
</div>
@for ($i = 0; $i < count($DataSet); $i )
<div class="container" id="container2">
<div> {{$DataSet[$i]->name}} </div>
<div> {{$DataSet[$i]->number}} </div>
</div>
@endfor
<script type="text/javascript">
$('#datepicker').on('change', function() {
var datepicker = $('#datepicker').val();
alert(datepicker);
$.ajax({
url: '/orderdata',
data: datepicker,
type: "get",
cache: false,
success: function () {
$('#something').empty();
$('#something').append();
},
error: function () {
;}});});
</script>
路線
Route::get('/orderdata', 'DayhomeController@OrderDataorIndex');
1.我想問如果我使用ajax將datepicker值傳遞給控制器??,我應該將它傳遞給索引還是創建另一個公共函式OrderData($Request $datepickerVal){}?因為我需要使用 datepicker 的值作為再次檢索模態更新 Dataset[i] 的條件。
2.資料進入函式index或者函式OrderData,最后回傳一個新的dataset[],這會幫我重繪 頁面嗎,還是應該做類似$('#something').empty $('#something') ajax 中的 .append() 成功:更新我的物件及其 {{$DataSet[$i]->name}} {{$DataSet[$i]->number}} 編號的功能?
uj5u.com熱心網友回復:
你有 3 種方法來完成這個
頁面重新加載
重新加載頁面并在 URL 中發送查詢字串,例如:"/yourpath?date=" $date,然后在您的控制器中:
window.location.href = 'https://your.url/path?date=' $('#datepicker').val();
class DayhomeController extend Controller{
public function index(){
$Dataset = Modal::all();
if(request()->get('date')){
$Dataset = $Dataset->where('date',request()->get('date'))
}
return view('DayHome')->with('DataSet',$DataSet)
}
Ajax 回傳 HTML
你可以制作一個只回傳你渲染資料集的 HTML 的控制器 頁面/視圖。
然后你可以呼叫這個路由/控制器,只需用 jQuery 替換 html:
$.ajax({
url: '/orderdata',
data: datepicker,
type: "get",
cache: false,
success: function (htmlReceived) {
$('#something').html(htmlReceived);
},
});})
Ajax javascript 渲染器庫
您也可以始終通過 ajax 獲取資料集,而是使用 react、alpineJS、svelte、vue 或任何其他前端渲染庫或框架在本地創建您的渲染方法
*** 此代碼不遵循最佳實踐,但試圖解釋您的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/516025.html
