POST 405 (Method not allowed) when trying to post AJAX request - Laravel 4

47,310

Wouldn't this be your issue?

Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');

You set the route up for GET requests, but you're trying to access it via a POST request.

Share:
47,310
user3771990
Author by

user3771990

Updated on October 01, 2020

Comments

  • user3771990
    user3771990 over 3 years

    I am trying to issue a simple AJAX request to populate a menu in Laravel, however, I am having a lot of trouble with getting it to work properly.

    I am not sure what the issue is, and after a couple hours of searching, I cannot find anything that can help.

    Here is my AJAX request:

    $.ajax({
                type: 'POST',
                url: '/ajax/populateApiAuth',
                data: json,
                dataType: 'JSON',
                success: function (json) {
                    alert('test');
                    return true;
                },
                error: alert('fail')
    });
    

    My route to the AJAX callback:

    Route::get('/ajax/populateApiAuth', 'ApiController@populateApiAuth');
    

    and my controller to handle the AJAX callback in ApiController:

    public function populateApiAuth()
        {
            return Response::json(array('msg' => 'test');
        }
    

    When sending the AJAX request, it returns with the fail message in the error parameters, and in the console, it tells me:

    POST http://localhost:8000/ajax/populateApiAuth 405 (Method Not Allowed) 
    

    Researching this error message, it results from making a POST request to a different domain/server? How can this be?

    I have tried to use an absolute URL for the AJAX request with:

    url: '{{ URL::to("ajax/populateApiAuth") }}
    

    which gives the full URL: http://localhost:8000/ajax/populateApiAuth but that does not solve the issue either.

  • user3771990
    user3771990 almost 10 years
    I quite literally just realized that as I hit submit... Feeling really stupid now, and yes that solved my issue. FACEPALM
  • Wayne Whitty
    Wayne Whitty almost 10 years
    @user3771990 It happens. Sometimes, writing it out can allow you to see something that you overlooked before :)
  • user3771990
    user3771990 almost 10 years
    I will accept your answer when it lets me, and let this be an example for future Laravelers that fall into the same dumb mistake! :)