I tried to use Ajax from laravel, but I couldn't find I want it.
How to use ajax in Laravel?
in main.js file...
$.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 + " =====");
}
});
in blade template ...
<body>
<meta name="csrf-token" content="{{ csrf_token() }}">
<div class="wrapper">
@yield('content')
<script src="{{ asset('assets/js/main.js') }}"></script>
</div>
</body>
php file
//web.php
Route::get('/saveToken', [FcmController::class, 'saveToken']);
// Fcm controller
public function saveToken(Request $request)
{
...
on using ajax url //"{{ route('saveToken') }}"
~~~/%7B%7B%20route('saveToken')%20%7D%7D 404 not found
// '/saveToken'
405 not allowed
You are calling route name in url so you have to add route name in route .
Route::get('/saveToken', [FcmController::class, 'saveToken']);
Replace with
Route::post('/saveToken', [FcmController::class, 'saveToken'])->name('saveToken');
Replace your route
Route::post('/saveToken', [FcmController::class, 'saveToken'])->name('saveToken');
OR
Change your 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 + " =====");
}
});