猿问

Laravel 路由因忘记密码而不起作用

当我在 url 中使用参数时,我的 laravel 路由不起作用。实际上,电子邮件已发送给收件人,但当他们单击链接时,令牌会作为参数在 url 中发送。但使用了不同的路线,显示另一个页面。这是我的 web.php


 Route::group(['namespace' => 'Auth'],function(){

    // Password Reset Routes...

    Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset');

    Route::post('password/email', 'ForgotPasswordController@sendResetLinkEmail')->name('password.email');

    Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset.token');

    Route::post('password/reset', 'ResetPasswordController@reset');

});

这条路线被调用 Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset'); 但我希望这条路线能够工作Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset.token'); 所以它按照上面的路线显示不同的页面。我该怎么办?请帮忙!!


慕妹3242003
浏览 101回答 2
2回答

尚方宝剑之说

尝试将 /password/reset 的路由名称更改为其他类似的名称为了避免混淆,让我们将其更改为Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset');   对此Route::get('forget-password', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset.form');所以你的路线可能看起来像这样.. Route::group(['namespace' => 'Auth'],function(){    // Password Reset Routes...    Route::get('forget-password', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset.form');    Route::post('password/email', 'ForgotPasswordController@sendResetLinkEmail')->name('password.email');    Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset');    Route::post('password/reset', 'ResetPasswordController@reset');});  请注意,我已将路由名称password.reset.token更改为password.reset。我认为 laravel 内置代码为此使用路由名称“password.reset”。

POPMUISE

这对你不起作用: Route::group(['namespace' => 'Auth'],function(){    // Password Reset Routes...    Route::get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('password.reset.token');    Route::get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('password.reset');    Route::post('password/email', 'ForgotPasswordController@sendResetLinkEmail')->name('password.email');    Route::post('password/reset', 'ResetPasswordController@reset');});注意 get 的顺序一般的应该在具体的之后。
随时随地看视频慕课网APP
我要回答