javascript - 等价于 ajax 成功中 laravel 的 return view('path',compact('data1', 'data2', 'data3' ))
问题描述
我怎样才能得到相当于
return view('path',compact('data1', 'data2', 'data3' ))
在ajax成功。我在 Laravel 中经历了其他类似的问题,其中一些建议渲染方法实际上不是重定向。
以前,我将数据传递为:
return view('path',compact('data1', 'data2', 'data3' ))
但是,现在我已经更新了将文件上传到 ajax 方法的方法,但是我被困在如何传递具有完全相同结构的其他参数上。所以,我不需要更新其他代码。
我希望有等效的代码,这样我在使用从这里传递的这些数据时不需要更新任何代码。
阿贾克斯
` $(document).ready(function(){ $('form').submit(function(event){
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);
}
}
});
});
});
`
HTML
<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>
所以,如果有任何甜蜜而简单的方法,请告诉我。
解决方案
在同一个函数中,您需要检查请求是否为 ajax。
public function method(){
if(request()->ajax()){
return Response([
'data1' => $data1,
'data2' => $data2,
'data3' => $data3,
]);
}
}
不要忘记包含use Response;
这将返回对 ajax 方法的响应。
推荐阅读
- php - 在帖子页面中显示帖子描述 - LawPlus Theme wordpress
- reactjs - Formik 和 Yup:TypeError:无法读取未定义的属性“对象”
- javascript - 如何在 Ajax 成功上填充 html?
- wordpress - 页面构建器和粘性弹出插件都不能一起工作 - Wordpress
- r - JAGS 中正常密度的零技巧
- json - 在来自 url 的 jasper Studio 中,如何读取以下格式的 json 文件
- reactjs - 如何从 ReactJS 中的状态分别映射表中的多个对象属性?
- android - Android Studio 3.2 Canary 17 无法构建项目
- infinispan - Wildfly 11 - infinispan 本地缓存未注册
- hadoop - 如何将 Hadoop 集群从 2.6.0 升级到 3.0.0?