Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que j'obtiens toujours « Méthode non autorisée » sur mon modèle HTML chaque fois que j'essaie d'utiliser http.MethodDelete ?

Pourquoi est-ce que j'obtiens toujours « Méthode non autorisée » sur mon modèle HTML chaque fois que j'essaie d'utiliser http.MethodDelete ?

王林
王林avant
2024-02-14 12:27:09604parcourir

为什么每当我尝试使用 http.MethodDelete 时,我的 html 模板上总是出现“不允许使用方法”?

Le problème de "méthode non autorisée" lors de l'utilisation de http.MethodDelete peut être causé par les paramètres du serveur ou par des problèmes de logique de code. Tout d’abord, assurez-vous que votre serveur est correctement configuré et que la méthode DELETE est activée. Deuxièmement, vérifiez la logique de votre code pour vous assurer que votre code ne restreint pas ou n'intercepte pas la méthode lors du traitement des requêtes DELETE. Vérifiez également si votre formulaire ou lien utilise correctement la méthode DELETE. Si les vérifications ci-dessus sont normales, le problème peut être dû à d'autres raisons. Il est recommandé de consulter le journal du serveur pour trouver des informations plus détaillées sur les erreurs.

Contenu de la question

J'utilise http.MethodDelete pour essayer de supprimer les guillemets de mon modèle HTML. Chaque fois que j'appuie sur le bouton Supprimer, j'obtiens un message d'erreur.

J'ai essayé de l'utiliser dans mon modèle HTML "Supprimer" mais cela me donne toujours l'erreur.

Solution

Je pense que tu veux dire :

router.handlerfunc(http.methoddelete, "/quote/delete", app.quotedelete)
<a class="delete-button" href="/quote/delete?quote_id={{ .quoteid}}">delete</a>

Par défaut, le navigateur envoie une requête get 请求来跟踪链接。它没有按照您的预期发送 delete.

Vous pouvez envoyer delete requêtes en utilisant le code javascript.

Vous ne semblez pas avoir de code javascript écrit dans votre projet, une solution rapide consiste donc à modifier le code de votre serveur pour gérer post 请求,并使用表单将 post les requêtes adressées au point de terminaison de suppression de ressource : p>

router.handlerfunc(http.methodpost, "/quote/delete", app.quotedelete)
<form action="/quote/delete?quote_id={{ .QuoteID }}" method="post">
  <button type="submit">Delete</button>
</form>

Veuillez noter que les formulaires ne peuvent pas être utilisés pour envoyer des delete demandes. La documentation répertorie les méthodes autorisées par l'élément from pour les éléments de formulaire de mdn  :

方法

Méthode http pour la soumission du formulaire. Les seules méthodes/valeurs autorisées sont (insensible à la casse) :

  • post : méthode de publication ; les données du formulaire sont envoyées en tant que corps de la demande.
  • get (par défaut) : obtenir ; les données du formulaire ajoutées à l'URL de l'action avec le séparateur ? Utilisez cette méthode lorsque le formulaire n’a aucun effet secondaire.
  • dialog:当表单位于 a38fd2622755924ad24c0fc5f0b4d412 , ferme la boîte de dialogue et déclenche le déclenchement de l'événement de soumission lors de la soumission sans soumettre les données ni effacer le formulaire.

Pour la définition de la méthode de requête http, veuillez consulter Méthode de requête http.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer