php – 在Laravel 5.1中通过AJAX将用户输入数据从视图传递到控制器

php – 在Laravel 5.1中通过AJAX将用户输入数据从视图传递到控制器,第1张

概述我想使用post方法通过 AJAX将下拉列表数据从视图发送到控制器作为表单变量. 我可以使用get方法和使用路由参数将下拉列表数据从视图发送到控制器. 这是我的视图代码段: function drawChart(frmyear, toyear) { console.log(frmyear); console.log(toyear); var jsonData 我想使用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'=>'Analytics\DashboardController@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'=>'Analytics\DashboardController@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 ));}
总结

以上是内存溢出为你收集整理的php – 在Laravel 5.1中通过AJAX将用户输入数据从视图传递到控制器全部内容,希望文章能够帮你解决php – 在Laravel 5.1中通过AJAX将用户输入数据从视图传递到控制器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1246344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存