web-dev-qa-db-fra.com

POST 405 (méthode non autorisée) lors de la tentative de publication AJAX - Laravel 4

J'essaie d'émettre une simple demande AJAX pour remplir un menu dans Laravel, cependant, j'ai beaucoup de mal à le faire fonctionner correctement.

Je ne sais pas quel est le problème, et après quelques heures de recherche, je ne trouve rien qui puisse aider.

Voici ma AJAX:

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

Mon itinéraire vers le rappel AJAX:

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

et mon contrôleur pour gérer le rappel AJAX dans ApiController:

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

Lors de l'envoi de la demande AJAX, elle renvoie avec le message d'échec dans les paramètres d'erreur, et dans la console, elle me dit:

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

En recherchant ce message d'erreur, il résulte de la demande POST à un autre domaine/serveur? Comment cela peut-il être?

J'ai essayé d'utiliser une URL absolue pour la demande AJAX avec:

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

qui donne l'URL complète: http://localhost:8000/ajax/populateApiAuth mais cela ne résout pas non plus le problème.

14
user3771990

Ce ne serait pas votre problème?

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

Vous définissez l'itinéraire pour les demandes GET, mais vous essayez d'y accéder via une demande POST.

48
Wayne Whitty