我怎样才能获得相应的
return view('path',compact('data1', 'data2', 'data3' ))
在ajax成功。我在Laravel中经历过其他类似的问题,其中一些建议渲染方法实际上不是重定向。
以前,我将数据传递为:
return view('path',compact('data1', 'data2', 'data3' ))
但是,现在我已经更新了文件上传到ajax方法的方法,但是我不知道如何传递具有完全相同结构的其他参数。所以,我不需要更新其他代码。
我希望有相同的代码,以便在使用从这里传递的数据时不需要更新任何代码。
` $(文件)。就绪(函数(){ $( '形式')。提交(函数(事件){
event.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },
url: "{{url('admin/voter/sub/storecsv')}}",
data: formData,
type: 'post',
cache: false,
xhr: function() {
var xhr = new window.XMLHttpRequest();
$("#csv_uploading").modal('show');
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
$('.uploadProgressBar').attr('aria-valuenow',percentComplete).css('width',percentComplete + '%').text(percentComplete + '%');
if (percentComplete === 100) {
$("#csv_uploading").modal('hide');
}
}
}, false);
return xhr;
},
processData: false,
contentType: false,
success:function(data){
if(data.success === true){
console.log(data);
}
}
});
});
});
`
<form action="{{url('admin/voter/sub/storecsv')}}" class="form-horizontal file-upload" id="file_upload" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
<input required="" type="file" name="import_file" id="import_file" />
<button class="btn btn-success btn-sm" id="upload_csv" disabled="true" type="submit">Import CSV or Excel File</button>
</form>
所以,如果有任何甜蜜而简单的方法,请告诉我。
答案 0 :(得分:0)
在同一个函数中,您需要检查请求是否为ajax。
public function method(){
if(request()->ajax()){
return Response([
'data1' => $data1,
'data2' => $data2,
'data3' => $data3,
]);
}
}
不要忘记包含use Response;
这将返回对ajax方法的响应。