Laravel中的路由问题,带有多个控制器和具有相同名称的不同路由[关闭]
Posted
技术标签:
【中文标题】Laravel中的路由问题,带有多个控制器和具有相同名称的不同路由[关闭]【英文标题】:Route issue in Laravel with several controllers and different route with same name [closed] 【发布时间】:2022-01-14 08:00:38 【问题描述】:我在 web.php 中添加了以下路由,但它不起作用。
Route::post('show', [
'as' => 'usersinformation.show',
'uses' => 'usersinformationController@show'
]);
Route::post('store', [
'as' => 'usersinformation.store',
'uses' => 'usersinformationController@store'
]);
Route::get('store',[usersController::class, 'store'])->name('usersinformation.store');
Route::post('/store', 'usersController@store');
Route::post('store',[usersController::class, 'store'])->name('users.store');
Route::get('/index', 'usersController@index');
我的控制器如下,我正在使用 Ajax 发送数据,但收到的错误是 Method not allowed exception。
public function store(Request $request)
//
$fname = $request -> fname;
$lname = $request -> lname;
$pnumber = $request -> pnumber;
Ajax 代码----------------
data =
_token: $('input#usersinformation-token').val(),
'fname': $('input#first_name').val(),
'lname': $('input#last_name').val(),
'pnumber': $('input#phonenumber').val()
;
$.post(url, data, function(data, status)
alert('working' + data + " " + status );
$('div#load-content').html(data);
);
【问题讨论】:
您将发布请求发送到哪个 URL? 你已经多次定义了商店的帖子试试这个Route::post('/store',[usersController::class, 'store'])->name('store');
并注释掉rest
ajax post 请求的 url 是:127.0.0.1:8000/usersinformation/store 并且已经提到的路由是:route('usersinformation.store')
@syedjawwadalam 您提到的路线不起作用。看来这不是我向其发送请求的控制器。
@syedjawwadalam 我已经为此添加了正确的答案,如果您在 Laravel 中遇到路线问题,您可以随时使用它。
【参考方案1】:
我已经通过向我的路由内容添加命名空间解决了这个问题,如下所示:
route::post('usersinformation/store', 'usersinformationController@store');
route::post('usresinformation/destroy', 'usersinformationController@destroy');
您可以通过添加我添加的上述路线来轻松管理您的路线,并且永远不会遇到路线问题。
【讨论】:
以上是关于Laravel中的路由问题,带有多个控制器和具有相同名称的不同路由[关闭]的主要内容,如果未能解决你的问题,请参考以下文章