Im using OctoberCMS, the user plugin and I want to send data via AJAX to a controller and save the data in the database (in the column of the logged in user).
So I created a new Route in my routes.php
JavaScript
x
<?php
Route::get('saveHighscore', 'testProfileControllersHighScore@saveHighscore')
->middleware('web');
And a controller
JavaScript
<?php
namespace TestProfileControllers;
use IlluminateHttpRequest;
use IlluminateSupportFacadesDB;
use OctoberRainAuthModelsUser;
use RainLabUserFacadesAuth;
class HighScore extends IlluminateRoutingController
{
function saveHighscore(Request $request) {
DB::table('users')->where(['id' => Auth::getUser()->id])->update(['highscore' => $request]);
}
}
And my jQuery calls
JavaScript
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "/saveHighscore",
type: "POST",
data: highscore
});
But nothing works. If I call /saveHighscore in my browser with dummy data in the controller, it works fine
Advertisement
Answer
It should work without any issue.
But I think you are making 2 different requests
In
ajax config
you specified ->type: "POST"
and you are listening forget
request
May be you just need to change Route::get -> Route::post
Now it should work expected.
If any doubts please comment.