如何解决如何使用数组调用控制器方法
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 举报,一经查实,本站将立刻删除。