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.
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.