Méthode non autorisée, lorsqu'il est MIS utilisées sur AJAX pour Laravel ressources
J'ai cette ressource dans routes.php:
Route::resource('items', 'ItemsController', ['before' => 'admin_access']);
En essayant d'atteindre ItemsContoller@update
méthode AJAX mais ce coup de pied un 405 Method not allowed
erreur:
var $inputs = $('input', row);
var id = $(row).find('.edit').data('id');
var data = $inputs.serializeJSON();
data['_token'] = $('input[name=_token]').val();
data['_method'] = 'PUT';
console.debug(data);
$.ajax({
url: 'items/' + id,
method: 'PUT',
dataType: 'json',
data: data,
complete: function (data) {
if (data.success) {
itemsTable.ajax.reload();
}
}
});
À la fois la id
et data
variables contiennent les informations correctes.
Cela fonctionne très bien quand je fais un formulaire type de soumission à PLACER comme la méthode (à l'aide de anahkiasen/Former
ouvreur de la méthode).
Ce qui me manque ici?
- À en juger par le message d'erreur (qui semble être à venir à partir du serveur) et le peu que j'ai lu sur Laravel, cela semble être un cas de METTRE votre URL de demande et de votre gestionnaire d'itinéraire ne sont pas dans l'alignement, et donc Laravel ne pas trouver un gestionnaire pour la combinaison et revient donc 405.
Vous devez vous connecter pour publier un commentaire.
La plupart des navigateurs ne peut pas envoyer de PLACER des méthodes et sont limités à seulement GET et POST.
Essayez de changer la méthode de POSTER, mais laissez votre
_method
élément dans ledata
tableau usurper la demande de la méthode.method: 'PUT'
àmethod: 'POST'
il a travaillé, mais n'était pas vraiment la réponse JSON prévu, j'ai donc ajoutécontentType: 'application/json'
et maintenant je suis de retour à l'erreur 405. Des idées?'?_method=PUT'
à la fin de laurl
valeur. N'a pas été détecté par Laravel après j'ai changé lecontentType
en json.