php – 在Laravel 5.1中通过AJAX将用户输入数据从视图传递到控制
发布时间:2020-12-14 19:37:06 所属栏目:大数据 来源:网络整理
导读:我想使用post方法通过 AJAX将下拉列表数据从视图发送到控制器作为表单变量. 我可以使用get方法和使用路由参数将下拉列表数据从视图发送到控制器. 这是我的视图代码段: function drawChart(frmyear,toyear) { console.log(frmyear); console.log(toyear); va
我想使用post方法通过
AJAX将下拉列表数据从视图发送到控制器作为表单变量.
我可以使用get方法和使用路由参数将下拉列表数据从视图发送到控制器. 这是我的视图代码段: function drawChart(frmyear,toyear) { console.log(frmyear); console.log(toyear); var jsonData = $.ajax({ url: "get_salesthree/"+ frmyear + "/"+ toyear +"/",dataType: 'json',async: false }).responseText; console.log(jsonData); 路线代码段: Route::get('get_salesthree/{frmyear}/{toyear}',array('uses'=>'AnalyticsDashboardController@get_salesthree')); 出于安全考虑,我不想使用路由参数传递用户输入数据.此外,我有多个用户输入参数需要发送到控制器,因此上述方法也是不可行的.因此,在这种情况下可以使用任何其他替代解 控制器代码段: public function get_salesthree($frmyear,$toyear) { return Response::json(Salethree::get_formatted_salesthree($frmyear,$toyear )); } 下拉列表代码段: <label>From Date</label> <select id="ddlfrmyear" name="frmyear" onchange="check(this);"> <option value="-1">Select Date </option> @foreach ($date_lists as $date_list) <option value="{{ $date_list}}">{{ $date_list}}</option> @endforeach </select> JavaScript检查功能: function check(sel) { document.getElementById('ddltoyear').disabled = !sel.selectedIndex; var frmyear = document.getElementById('ddlfrmyear').value; var toyear = document.getElementById('ddltoyear').value; console.log(frmyear); console.log(toyear); if (toyear != '-1') { drawChart(frmyear,toyear); //drawChart(); } } 现在我按照建议更改ajax调用后没有定义检查功能.我想知道下拉列表的选择事件和AJAX路由之间的关系是什么? 解决方法
这只是您理解的一个示例,我希望这将指导您获取您的功能.
如果您不想在URL中显示您的数据/参数,那么您也可以使用Ajax Post, $.ajax({ type: 'POST' url: "get_salesthree/",data: yourForm.serialize() dataType: 'json' 并在您的路由中,删除查询字符串的变量,并使其像这样. Route::post('get_salesthree/',array('uses'=>'AnalyticsDashboardController@get_salesthree')); 并在你的控制器 public function get_salesthree(Request $request){ $frmyear = $request->input('frmyear'); $toyear = $request->input('toyear'); //do your functionality as per your need return Response::json(Salethree::get_formatted_salesthree($frmyear,$toyear )); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |