我正在使用这个库Maatwebsite Excel,我在检查器中看到我有一个响应,但下载从未启动,我对此怎么做的任何想法?
我一直在寻找答案,并且一直对此https://laracasts.com/discuss/channels/laravel/maatwebsite-excel-is-created-but-not-downloading-in-ajax-call-in-laravel-why感到困惑 但这是个电话,所以对我不起作用
我的js
function ajax_helper (datos) {
$('#div_cargando').prop('hidden', false)
$.ajaxSetup({
type: 'POST',
url: '/informes/productos',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
})
$.ajax({
data: datos,
success: function (data) {
$('#div_cargando').prop('hidden', true)
**window.location(data)** // not my best try
}
})
}
我的控制器
public function buscar(Request $request)
{
return Excel::download(new ProductosExport($request->empresa_id, $request->caso, $request->id), 'productos.xlsx');
// dd($request->all());
}
我的出口管制员
private $empresa_id;
private $caso;
private $id;
public function __construct($empresa_id, $caso, $id)
{
$this->empresa_id = $empresa_id;
$this->caso = $caso;
$this->id = $id;
}
public function collection()
{
$empresa = Empresa::find($this->empresa_id);
switch ($this->caso) {
case 1:
$ids = $this->obtener_id($this->caso, $this->id);
return $empresa->productos()->select('producto_nombre_id', 'existencias')
->whereIn('producto_nombre_id', $ids)->with('producto_nombre')->get();
break;
case 2:
break;
}
}
private function obtener_id($caso, $id)
{
switch ($caso) {
case 1:
return Linea::find($id)->productos()->select('id')->get();
break;
case 2:
return Seccion::find($id)->productos()->select('id')->get();
break;
}
}