How To Pass A AJAX Call On OctoberCMS

- 1 answer

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

Route::get('saveHighscore', 'test\Profile\Controllers\[email protected]')

And a controller

namespace Test\Profile\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use October\Rain\Auth\Models\User;
use RainLab\User\Facades\Auth;

class HighScore extends \Illuminate\Routing\Controller
function saveHighscore(Request $request) {
    DB::table('users')->where(['id' => Auth::getUser()->id])->update(['highscore' => $request]);

And my jQuery calls

        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



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 for get request

May be you just need to change Route::get -> Route::post

Now it should work expected.

If any doubts please comment.