2015-12-29 119 views
0

我的代碼是這樣的:如何從JavaScript發送參數到laravel 5中的控制器?

<a href="javascript:;" onclick="showAjaxPdf('{{ $row->file_path }}');"><i class="fa fa-file-pdf-o"></i></a> 

我的JavaScript代碼是這樣的:在控制器

function showAjaxPdf(file_path){ 
//example : file_path = assets/images/myfile.pdf 
       $.post("news/test", { name: file_path }); 
      } 

我的功能測試:

public function postTest($file_path) 
    { 
     return response()->download($file_path);  
    } 

當我點擊PDF圖標,未能將參數從javascript發送到控制器

我想,當點擊PDF圖標,出現這樣的:http://imgur.com/uhPfOWL

謝謝

+0

請看這裏http://stackoverflow.com/a/20830337/453348 – tttony

回答

0

您張貼參數name沒有$file_path

use Illuminate\Http\Request; 

public function postTest(Request $request) 
{ 
    $file_path = $request->input('name'); 
    return response()->download($file_path);  
} 

確保您$file_path有意義的服務器 到解決路徑服務器上的公用文件夾public_path()會讓你<driver>/<dir>/<app dir>/public/images/smail.png然後你可以下載它

return response()->download(public_path() + $file_path);

+0

參數成功發送到控制器。但是,不顯示pdf(http://imgur.com/uhPfOWL) –

0

你試過感嘆號(!)?

<a href="javascript:;" onclick="showAjaxPdf('{!! $row->file_path !!}')"> 
相關問題