jQuery POST, Erreur 405 Méthode non autorisée
Je suis en train d'accueillir un ASP.NET MVC4 application web avec IIS 7.5. Lors du débogage de l'application tout fonctionne très bien (je suppose que c'est à cause de l'Authentification Windows).
Cependant, lorsque je publie l'application et accédez-ce que je reçois une 405 method not allowed erreur:
POST http://localhost/405 (Method Not Allowed)
send
i.extend.ajax
i.(anonymous function)
(anonymous function)
De ce que j'ai lu c'est soit un problème avec les Mappages de gestionnaires dans IIS ou une configuration est nécessaire dans le web.config. De toute façon, je n'ai pas trouvé la bonne solution.
Quelqu'un pourrait-il me dire ce que mon site web.config devrait inclure à tous les POSTES? Et/ou comment mettre en place le bon mappage de Gestionnaire des services IIS, comme je suis nouvelle dans le développement web et trouver le nombre d'options un peu écrasante.
Le morceau de code javascript qui génère l'erreur est la suivante:
$.post("/", { latitude: locLat, longitude: locLon, username: $('#onlineUsers').attr('itemid') });
source d'informationauteur Matt | 2012-11-06
Vous devez vous connecter pour publier un commentaire.
405 est jeté par IIS quand un verbe HTTP(GET,PUT,POST,DELETE,TÊTE,etc.) est demandée et ne sont pas pris en charge/non autorisés par le gestionnaire désigné.
Vous devez ouvrir le gestionnaire des services IIS -> Site Web par Défaut -> Mappages de gestionnaires (Ou les mappages de gestionnaires spécifiques à votre application web)
Ici, vous aurez besoin de jouer avec les mappages de gestionnaires comme l'un d'eux est de ne pas permettre "POST" des verbes.
Que vous n'êtes pas poster de n'importe quelle page spécifique (.aspx, .ashx, etc.), il sera difficile d'identifier exactement gestionnaire qui vous pose des problèmes.
Gestionnaires d'intérêt peut être:
Une fois que vous identifier au gestionnaire de votre demande est routée vers, double-cliquez dessus pour ouvrir le dialogue.
À partir de là, cliquez sur "Demande de Restrictions", puis "Verbes"
Assurez-vous que le verbe approprié est présent dans la zone de texte.
Comme je l'ai mentionné avant, je ne suis pas sûr du gestionnaire est de la manipulation de votre demande tant que vous n'êtes pas poster de n'importe quelle page (vous pouvez avoir l'URL ré-écriture en place qui est de routage de votre demande de façon appropriée).
Si le ci-dessus échoue, vous pouvez avoir besoin de vérifier si la Publication WebDAV est installé et l'enlever (redémarrage nécessaire).
Peut-être vous devriez modifier votre post'URl format comme ceci:
certains utilisateurs ici sont le fait d'avoir partagé l'hébergement et pas de serveurs dédiés, de sorte qu'ils pourraient ne pas être en mesure d'obtenir l'accès à l'IIS panneau de contrôle..
c'est mon cas, et voici ce que j'ai trouvé..
J'ai mon application web sur le répertoire racine créé par Godaddy panneau de contrôle.. et la requête POST est reconnu ..
ensuite, j'ai utilisé le FileZilla pour créer un dossier de test pour mon jquery ..( notez que j'ai utilisé FileZilla , de sorte que l'application web et donc de l'IIS de GoDaddy n'est pas au courant que je voulais ce dossier pour faire partie de mon nous demande )
alors à chaque fois que je test cette jQuery sur ce dossier de test.. je reçois cette erreur [405 method not allowed]..
la solution est extrêmement simple :
J'ai déménagé mes tests de page de ce dossier de test créé par FileZilla et situé à l'intérieur d'un dossier qui a été créé par Godaddy panneau de commande ( dans ce cas, les services internet (IIS) être conscient que cette page fait partie de mon application web 🙂 )
Espère que cela va aider ceux sur l'hébergement mutualisé