Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 811
user3771990 Avatar asked Aug 14 '14 16:08

user3771990


1 Answers

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.

like image 65
Wayne Whitty Avatar answered Sep 28 '22 03:09

Wayne Whitty