2016-05-04 82 views
1

我有一些問題,我的代碼Laravel缺少所需爲〔路線:editGallery]參數[URI:editGallery/{gallery_id}]

以下是錯誤

ErrorException在UrlGenerationException.php線17 :缺少[路線:editGallery] [URI:editGallery/{gallery_id}]的必需參數。 (查看:C:\ XAMPP \ htdocs中\ GMS \資源\意見\ editGallery.blade.php)

我試圖通過從視圖中的數據使用Ajax控制器,在這裏我的Ajax代碼

<script type="text/javascript"> 
    $(document).ready(function() { 
     var gallery_id = "gallery_id_{{ $data->gallery_id }}" 
     $('#editGallery{{ $data->gallery_id }}').click(function(){ 
      //{{ route('editGallery', $data->gallery_id) }} 
      window.location.href = "editGallery/"+{{ $data->gallery_id }}; 
     }); 
    }); 
</script> 

這裏是我的路線

Route::get('/editGallery/{gallery_id}', [ 
    'uses' => '[email protected]', 
    'as' => 'editGallery' 
]); 

,最後一個代碼是我的控制器代碼

public function getEditGallery(Request $request){ 
    $galleryData = DB::SELECT("SELECT * FROM gallery WHERE gallery_id = " . $request->gallery_id); 
    //dd($request->gallery_id); 
    return view('editGallery', compact('galleryData')); 
} 

感謝您幫助我

回答

0

的問題是在這裏:

window.location.href = "editGallery/"+{{ $data->gallery_id }}; 

看來$data->gallery_id是空的,所以它不會傳遞到您的路線的任何值。

另外,不要使用PHP生成JS。有很多原因,這是可怕的做法。

+0

不,它不是空.. 這裏是代碼,當我檢查 $( '#editGallery16')點擊(函數(){ \t \t \t \t \t \t // HTTP://本地主機:8000/editGallery/16 \t \t \t \t \t \t window.location.href =「editGallery /」+ 16; \t \t \t \t \t}); –

+0

那麼,錯誤消息說你不會傳遞參數給路由。所以路由正在工作,並且沒有任何參數。當您點擊鏈接並發現錯誤時,您在瀏覽器中看到了哪些網址? –

+0

nvm它的完成,因爲// dd($ request-> gallery_id);併成爲// localhost:8000/editGallery/16 我刪除它 –

0

你爲什麼用Javascript生成你的編輯鏈接?

我假設你有某種索引頁面,在那裏你能像這只是輸出鏈接:

<a href="editGallery/{{ $gallery->id }}">Edit Gallery</a>

相關問題