php - 将输入数据从一个视图传递到 Laravel 中的另一个视图
问题描述
我有两个视图,第一个视图用于收集用户输入(用户选择站点和日期),第二个视图是 pdf 视图(将在浏览器中显示)。现在的问题是当用户从第一个视图中选择输入(站点和日期)并单击一个名为“转换按钮”的按钮时,控制器和第二个视图(PDF)无法获取数据。
尝试多次仍然无法让过滤器数据显示在 pdf 视图上
<select name="sites" id="sites" required="required" style="border:1px solid black; margin-left:10px; width:200px; padding:3px; font-size:16px; text-align-last:center;" >
<option value="" selected="" disabled > </option>
<option value="BBSR">ABC</option>
<option value="BPSR">BBC</option>
<option value="BKSR">BBE</option>
<option value="FCSR">QWE</option>
</select>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label style="margin-left:20px; font-size:16px;">Start Date : </label>
<input type = "text" name="startdate" id = "datepicker-8" style="border:1px solid black; width:270px;margin-left:47px; text-align:center; font-size:16px;" placeholder="Select Start Date" autocomplete="off" required="required" />
</div>
</div>
<div class='col-md-6'>
<div class="form-group">
<label style="margin-left:20px;font-size:16px;">End Date : </label>
<input type = "text" name="enddate" id = "datepicker-9" style="width:270px; margin-left:53px; text-align:center; font-size:16px;" placeholder=" End Date" disabled />
</div>
</div>
</div>
按钮 :
<div class="button" style="bottom:-25px">
<button class="btn btn-success" id="convertBtn" name="convertBtn" type="button" style="width:150px; margin-left:60px; font-size:16px;" onclick="location.href = '/home/weeklybilling/pdf';" > Convert to PDF</button>
</div>
</div>
阿贾克斯:
$('#convertBtn').click(function() {
var e = document.getElementById("sites");
var site = e.options[e.selectedIndex].text;
var startdate = $('#datepicker-8').val();
var enddate = $('#datepicker-9').val();
var _token =$('input[name="_token"]').val();
if(site != '' && startdate != '' && enddate != '' )
{
$.ajax({
paging: false,
searching: false,
processing: true,
retrieve: true,
serverSide: true,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url:"{{ route('weeklybilling.weeklypdf') }}",
type:"GET",
dataType:"json",
data:{
site:site,
startdate:startdate,
enddate:enddate,
_token:_token,
},
success:function(data){
},
error: function(data){
alert('Error');
}
})
} else
{
alert("Please select 'Site' & 'Date'. ");
}
});
路线
Route::get('/home/weeklybilling','WeeklyBillingController@Index');
Route::get('/home/weeklybilling/pdf','WeeklyBillingController@weeklybill')->name('weeklybilling.weeklybill');
控制器
public function weeklypdf(Request $request)
{
$bills = DB::table('weekly_data')
->where('site', $request->site)
->whereBetween('report_date',[$request->startdate ,$request->enddate])
->get();
//dd($bills); get null
$pdf = \App::make('dompdf.wrapper');
$pdf =PDF::loadView('weeklypdf',compact('bills'));
$pdf ->setPaper('a4','landscape');
return $pdf->stream('weeklyreport.pdf');
}
任何人都知道如何知道如何从第一个视图获取输入数据并将其传递给第二个视图(pdf)? pdf 视图中没有数据表**
解决方案
这是因为您的方法是GET
并且您正在发送参数,例如POST
方法更改路由POST
或更改发送参数方式,如下所示:
$.ajax({
paging: false,
searching: false,
processing: true,
retrieve: true,
serverSide: true,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url:"{{ route('weeklybilling.weeklypdf') }}" + "?site="+site+"&startdate="+startdate+"&enddate="+enddate+"&_token="+_token,
type:"GET",
success:function(data){
},
error: function(data){
alert('Error');
}
})
我希望它有效。
推荐阅读
- android - Difference between RunningAverageRssiFilter, ArmaRssiFilter, Kalman filter in Altbeacon SDK
- docker - 是否可以在 docker 的“主机模式”下设置端口?
- angular - Angular datatable unsubscription error while closing ngx-bootstrap modal
- javascript - Aggregate values obtained from a callback function in ES6?
- c# - Error 'does not support code parsing or generation...' if moving C# project with a picture for Visual Studio 2019
- flutter - Flutter 可缩放小部件
- c# - Xamarin Xaml 资源样式多条件未使用默认值触发
- pine-script - How to change a text color inside a shape in pine script?
- python-3.x - 如何清除组合框中上一个选定的项目
- azure - Values to configure pagination rules in Rest API connector in azure data factory to get data and load into sql database