我收到此錯誤:
Facade\Ignition\Exceptions\ViewException: Route [/api/auth/signin] not
defined. (View: C:\wamp\www\Laravel\FormsDashboard\resources\views\login.blade.php) in
file C:\wamp\www\Laravel\FormsDashboard\vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php
on line 444
該路由http://127.0.0.1:8000/api/auth/signin
實際上是可以直接訪問的,但是當從視圖呼叫該路由時,它會給出該錯誤。
我嘗試將路線定義為
Route::post('signin','AuthController@login')->name('signin');
但這也給了我同樣的錯誤。
這是我的路線/api.php:
Route::group([
'namespace'=>'App\Http\Controllers',
'prefix'=>'auth'
],function(){
Route::post('signin','AuthController@login');
}
這是視圖:
<form method="POST">
<button type="submit" class="btn btn-primary"
onclick="window.location='{{route('/api/auth/signin')}}'">Submit</button>
</form>
通過將路線作為
Route::prefix('auth')->group(function (){
Route::post('signin', 'AuthController@login')->name('signin');
});
我修復了上述錯誤,但是在單擊該視圖頁面上的提交按鈕時,我收到了錯誤:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
The POST method is not supported for this route. Supported methods: GET, HEAD.
我也清除了快取。
誰能告訴我出了什么問題?
uj5u.com熱心網友回復:
您似乎使用了錯誤的路徑檔案。如果你是 laravel 7 以上版本,你應該有 api 路由的“api.php”。如果您想在路由路徑中使用/api/
,請將
您的路由放在 api.php中。
此外,在 window.location 中,使用
{{ route('signin') }}
or
@json(route('signin'))
我注意到你沒有關閉)和; 到底。
uj5u.com熱心網友回復:
一旦你為給定的路由分配了一個名字,你就可以在通過 Laravel 的路由輔助函式生成 URL 或重定向時使用該路由的名字。您尚未為 url 宣告名稱,/api/auth/signin
但將此 url 用作route()
方法中的名稱,您不能在路由函式中使用 url 作為名稱,要使用route()
函式為 url 宣告名稱。
Route::group([
'namespace'=>'App\Http\Controllers',
'prefix'=>'auth'
],function(){
Route::post('signin','AuthController@login')->name('auth.signin');
}
uj5u.com熱心網友回復:
問題是您沒有宣告路由名稱。
Route::group(['namespace'=>'App\Http\Controllers', 'prefix'=>'auth'],function() {
Route::post('signin', 'AuthController@login')->name('signin');
});
給那個特定的按鈕一個 id 然后寫一個 ajax 呼叫。
$(document).on('click',"#submit",function{
$.ajax({
type: "POST",
url: "{{route('api/auth/signin') }}",
data :{
_token: "{{csrf_token()}}"
}
success : function(){
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446177.html
標籤:拉拉维尔 模型视图控制器 路线 laravel-8 laravel-刀片