微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用数组调用控制器方法

如何解决如何使用数组调用控制器方法

Controller import() 从 csv 文件导入数据并使用数据数组重定向

//import data from csv file
return redirect('school/student/import')->with('result',$result);

import.blade.PHP 这是一个模态表单,导入的数据显示用户

 @if(Session::has('result'))
 @PHP
    $result = Session::get('result');
 @endPHP
    <table class="table table-hover">
       <thead>
           ...
            <tr>
                @foreach($result as $daTarow)
                   <tr>
                        <td>{{$daTarow['student_no']}}</th>
                        ....
                   </tr>
                @endforeach
           </tbody>
        </table>
@endif
<button type="submit" class="btn btn-primary">Save changes</button>

@section('js')
    <script>
        @if(Session::has('result'))
            //$result = IS IT POSSIBLE TO ACCESS $result;
            
            $('#exampleModalCenter').modal('show');

            $("form#myForm").submit(function(event) {
                event.preventDefault();
                $('#exampleModalCenter').modal('hide');
                $.ajax({
                    type: "POST",url: "savedata",headers: {'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')},data: **$result**,success: function(data){
                        window.location = '{{ url("school/student") }}';
                    },});
            });
        @endif
    </script>
@stop

点击提交后,我想用 $result 数据数组调用 Controller savedata()。 我尝试了 form submit 和 ajax post,但问题是因为 $result一个数组,所以很难通过。也无法从 JavaScript 访问会话值。

解决方法

需要提供route name

路由/web.php

Route::post('savedata','ExampleController@savedata')->name('example.savedata');

命名路由后,需要为ajax的URL提供路由名称。

$("form#myForm").submit(function(event) {
    event.preventDefault();
    $('#exampleModalCenter').modal('hide');
    $.ajax({
        type: "POST",url: '{{route("example.savedata")}}',headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},data: $result,success: function(data){
            window.location = '{{ url("school/student") }}';
        },});
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。