如何在Laravel8中使用ajax

wnavrhmk  于 2021-09-29  发布在  Java
关注(0)|答案(2)|浏览(564)

我试图使用来自laravel的ajax,但我找不到我想要的。
如何在laravel中使用ajax?
在main.js文件中。。。

$.ajax({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        url : "{{ route('saveToken') }}",
        data : {'token' : token},
        type : 'POST',
        dataType : 'json',
        success : function(result){

            console.log("===== " + result + " =====");

        }
    });

在刀片模板中。。。

<body>
     <meta name="csrf-token" content="{{ csrf_token() }}">
     <div class="wrapper">
     @yield('content')
     <script src="{{ asset('assets/js/main.js') }}"></script>
     </div>                
</body>

php文件

//web.php
Route::get('/saveToken', [FcmController::class, 'saveToken']);

// Fcm controller
public function saveToken(Request $request)
{
...

关于使用ajax url/“{{route('savetoken')}”

~~~/%7B%7B%20route('saveToken')%20%7D%7D  404 not found

//“/savetoken”

405 not allowed
qlvxas9a

qlvxas9a1#

更换路线 Route::post('/saveToken', [FcmController::class, 'saveToken'])->name('saveToken');
更改您的ajax

$.ajax({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        url : "{{ url('saveToken') }}",
        data : {'token' : token},
        type : 'GET',
        dataType : 'json',
        success : function(result){

            console.log("===== " + result + " =====");

        }
    });
gtlvzcf8

gtlvzcf82#

您正在url中调用路由名称,因此必须在路由中添加路由名称。

Route::get('/saveToken', [FcmController::class, 'saveToken']);

取代

Route::post('/saveToken', [FcmController::class, 'saveToken'])->name('saveToken');

相关问题