1
我想返回一個文件被客戶端下載,但我注意到,我把我作爲一個返回值放在我的控制器中沒有返回到客戶端。Laravel 3:AJAX POST並返回Response :: download()?
下面的代碼:在我的控制器
代碼,我已經刪除不必要的行
public function post_test()
{
if(Input::get('receive_email'))
{
$pdf = new Fpdf('P', 'pt', array(1240, 1754));
$pdf->AddPage();
$generated_pdf = $pdf->Output("", "s");
$body = View::make('test.email_collision')->with($data)->render();
$message->body($body);
$message->attach(
$generated_pdf,
Sentry::user()->metadata['first_name'] . '_' . Sentry::user()->metadata['last_name'] . '.pdf',
'application/pdf');
$message->html(true);
$message->send();
if(Message::was_sent())
{
// HERE I want to actually return the file to be downloaded
// return Response::download($pdf->Output("", "i");
// return $pdf->Output("", "i");
} else {
$errors = new Laravel\Messages();
$errors->add('errors', __('test.error_email_not_sent'));
return Redirect::back()
->with_errors($errors->messages['errors']);
}
}
// Trying to not return anything
// return View::make('collide');
}
代碼在我的JS文件,該文件確實在POST
$("#gEmail").bind('touchstart click', function() {
$.ajax({
url: document.URL,
type: 'POST',
data: {
receive_email: "1"
}
})
.fail(function(error) {
console.error(error);
});
uiComplete.hide();
init();
});
$ message有何含義? 此外,您可以通過對應該返回的數據執行dd()來檢查問題出在哪裏,然後監視開發者工具上的響應 –