我的代码存在问题
这是错误
UrlGenerationException.php第17行中的ErrorException:缺少[Route:editGallery] [URI:editGallery / {gallery_id}]所需的参数。 (查看:C:\ xampp \ htdocs \ GMS \ resources \ views \ 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' => 'GalleryController@getEditGallery',
'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 :(得分:0)
问题在于:
window.location.href = "editGallery/"+{{ $data->gallery_id }};
似乎$data->gallery_id
为空,因此它不会将任何值传递给您的路线。
另外,不要用PHP生成JS。由于这么多原因,这是一种可怕的做法。
答案 1 :(得分:0)
为什么要使用Javascript生成编辑链接?
我假设您有某种索引页面,您可以输出如下链接:
<a href="editGallery/{{ $gallery->id }}">Edit Gallery</a>