Je suis nouveau dans Laravel et essayez d'ajouter des données à la base de données via Ajax, mais cela jette ce message: "Le serveur a répondu avec un statut de 405 (méthode non autorisée)" Je définis deux itinéraires pour celui-ci est pour la forme Page et autre voie pour enregistrer ces données comme ceci: p> et le code AJAX que j'utilise est ceci: p> code du contrôleur p> modèle p> c'est ma création .blade.php p> erreur p>
3 Réponses :
Route::match(['GET','POST'],'/store-project-definition-data/{id}', 'Participant\ParticipantProjectDefinitionController@store')->name('participant.project-definition.store'); You can try this Route it will resolve 405
`` `Demande URL: 127.0.0.1:8000/participant/project-definition/ Créer / ... Méthode de demande: Publier l'adresse distante: 127.0.0.1: 8000 Code Statut: 405 Version: http / 1.0
Non résolu, je suis nouveau sur Laravel et je suis coincé sur cette erreur les deux derniers jours
Utilisez uniquement la méthode postale
Ajoutez l'attribut méthode sous la forme modifier votre itinéraire de p> à p>
J'ai essayé puis j'ai trouvé une erreur "La méthode d'obtention n'est pas prise en charge pour cet itinéraire. Méthodes prises en charge: POST." et 405 erreur est toujours des spectacles
donner méthody = 'post' code> attribut sous forme
J'ai déjà essayé de mettre et de poster comme de cette façon {{méthod_field ("mettre")}}
essayez une fois la suppression {{méthody_field ('mettre')}} et la méthode de paramétrage "post" sous la forme
Premièrement, vous devriez publier ici quel est votre problème et où est votre problème, nous n'avons pas besoin de voir tous votre code pour résoudre un problème de base. Votre formulaire devrait être ceci:
function storeDefinitionFormData(addUrl, token, baseUrl){ $('#create_project_definition_data').click(function(e){ $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); e.preventDefault(); var form_fields = []; var counter = 0; $('.form-group').each(function(){ var values = { 'field_name' : $('#field_name_' + counter).val(), 'field_data' : $('#field_data_' + counter).val(), }; form_fields.push(values); counter++; }); $.ajax({ type: 'POST', dataType: 'JSON', url: addUrl, data: { // $id, User $user, ProjectDefinitionFields $ProjectDefinitionFields '_token' : token, 'id' : 'your_id_field', 'user' : '{{ Auth::user() }}', 'ProjectDefinitionFields' : 'your_definition_fields' // you need to pass type of 'ProjectDefinitionFields' }, success: function(data){ alert('done'); window.location = baseUrl; }, error: function(data){ alert('fail'); if(data.status == 422){ errors = data.responseJSON.errors; // => colllect all errors from the error bag var fieldCounter = 0; $('.help-block').show(); $('.validation').empty(); // => clear all validation // display the validations $('.validation').css({ 'display' : 'block' }); // iterate through each errors $.each(errors, function(key, value){ if(key.includes('form_fields.')){ var field_errors = key.split('.'); var field_error = field_errors[2] + "_" + field_errors[1]; $('#' + field_error + '_error').append("<i class='zmdi zmdi-alert-circle' style='font-size: 15px;'></i> " + value); // => append the error value in the error message } $('#' + key + '_help').hide(); $('#' + key + '_error').append("<i class='zmdi zmdi-alert-circle' style='font-size: 15px;'></i> " + value); // => append the error value in the error message }); } } }); }); }
La raison pour laquelle j'ai utilisé $ ID code> sous forme de paramètre et d'URL est le champ de formulaire que j'ai affiché est dynamique afin d'extraire le formulaire que j'ai utilisé le paramètre utilisé après cela tout en stockant les données que j'ai utilisées
$ ID code> Parce que j'ai besoin d'insérer la clé étrangère avec des intrants respectifs.
Est-ce que votre itinéraire
itinéraire :: get ('/ store-projet-définition-data / {id}' ..... code> est post? S'il est essayé de mettre à jour à
Itinéraire :: Post (.... code>
@VIPERTECPRO Oui J'ai essayé sur le message, mais il affiche un message d'erreur "La méthode d'obtention n'est pas prise en charge pour cet itinéraire. Méthodes prises en charge: POST"
Essayez-vous d'accéder à une méthode?
oui je l'ai fait mais ne travaille pas
Je ne comprends pas cela pourquoi voulez-vous appeler une méthode d'obtention via Ajax? AJAX Supposons appeler Post, Met, Patch, Supprimer des méthodes uniquement. Qu'essayez-vous de faire votre vie en appelant obtenir une méthode via Ajax?
Essayez de transmettre ce
var addurl = "{{itinéraire (" participant.project-definition.store ')}} "; code>
Sur Ajax I Utilisez la méthode Post que vous pouvez voir sur le code JS, et je mette à jour l'erreur addurl et une nouvelle erreur "Paramètres manquants" pour [route: participant.project-definition.store] [URI: participant / Définition du projet / de la définition de projet -Data / {id}]. (Vue: / Var / www / html / Acumenfuel / Ressources / Vues / Participants / Projec T_Définition / Créer. Blade.php) "
C'est parce que vous avez
{id} code> dans votre méthode postale supprimez-le et essayez
J'ai utilisé ce BCOZ, je souhaite insérer une clé étrangère en même temps, donc avec l'aide de l'ID, j'agirais que la clé étrangère @vipertecpro