Appel AJAX renvoyant 404 (local) dans IIS 7.5 mais fonctionne également dans d'autres IIS
Vais avoir les appels AJAX pour mon contrôleur dans mon Application MVC
Controller/FunctionName
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: '/Controller/FunctionName',
.
.
.
)};
Suis en utilisant MVC 4 et en faisant usage de JQUERY Ajax
fonction, comme indiqué dans le code ci-dessus. Il fonctionne très bien quand je le lance à partir de Visual studio.
Je depolyed ce de la machine serveur et comme prévu, il fonctionne très bien. Pas de problèmes rencontrés dans les appels AJAX.
Maintenant suis en train de déployer ce dans ma machine locale IIS qui est la même que mon serveur version (IIS 7.5)
mais je suis arriver 404
pour tous les appels ajax dans firebug.
J'ai vérifié le construire et encore je l'ai fait à mon dossier web et je suis toujours à la recherche de ce qui s'est passé !!
Il fonctionne dans d'autres IIS de sorte qu'Il ne sera pas un URL de la résolution de problème est mon gues. Suis-je en manquant de tous les paramètres ou en temps opportun idée pour résoudre ce serait génial.
Grâce
source d'informationauteur user2067567
Vous devez vous connecter pour publier un commentaire.
Que c'est normal. Vous avez codé en dur l'adresse url de votre contrôleur de l'action:
Si vous déployez votre application dans un répertoire virtuel dans IIS que l'url est correcte devrait être:
C'est la raison pour laquelle vous devez absolument jamais coder en dur les url dans un ASP.NET application MVC mais TOUJOURS utiliser l'url aides à générer:
et si cet appel AJAX est dans un autre fichier javascript où vous ne pouvez pas utiliser côté serveur aides, alors vous avez pu lire cette url à partir de certains élément du DOM qui vous sont AJAXifying.
Par exemple, supposons que vous avez eu une ancre:
que vous AJAXify:
Avis de la façon dont nous sommes la lecture de l'url de l'élément du DOM qui a été générée par un assistant.
Conclusion et 2 règles de base:
Ce que j'avais trouvé sur mon installation de IIS7.5 est que le "Mappage de Gestionnaire' a une ressource nommée 'OPTIONSVerbHandler' n'est pas défini dans le bon ordre donc de revenir Inconnu.
Ce travail pour moi, d'où mon localhost ajax a l'appel de mon serveur de réseau, qui a un nom différent, qu'il ne devrait pas me donner un SCRO question, mais elle l'a fait et c'était ma solution.
Ouvrir IIS et cliquez sur le nom de votre serveur dans le volet de gauche. Sur le volet de droite, double-cliquez sur "Gestionnaire de Cartographies" dans le volet du milieu. Sur le volet de droite, sélectionnez "Afficher une Liste triée'. À partir de là, de trouver 'OPTIONSVerbHandler' et 'svc-ISAPI-4.0_32bit", 'OPTIONSVerbHandler' jusqu'à ce qu'il est au-dessus de 'svc-ISAPI-4.0_32bit'.
Assurez-vous que votre 'handler' à l'intérieur de votre appel ajax n'a pas 'Access-Control-Allow-Origin".
Juste un complément de Darin réponse que si "l'appel AJAX est dans un autre fichier javascript où vous ne pouvez pas utiliser côté serveur aides", l'utilisation d'un champ caché pour stocker l'url de point de terminaison de l'avis:
et lire ce champ caché dans votre js: