J'ai donc cette application MVC 3 qui a une liste déroulante que j'utilise pour peupler un div via JQuery. Cela fonctionne bien localement mais lorsque je le déploie sur le serveur, il se redirige de manière incorrecte. Voici mon jQuery: localement cela fonctionne bien. Mais lorsqu'il est déployé sur mon serveur, il semble rechercher http: // myServer / home / catégorie au lieu de http: // myserver / mywebsite / home / catégorie p> Je peux le réparer en ajoutant simplement Le nom de ma demande avant la / la maison / la catégorie de la fonction JQuery, mais qui ne se sent pas correct ... p> J'ai aussi essayé d'ajouter .. /, ~ /,. ../ avant la / la maison mais cela n'a fait aucune différence. P> Toute solution à ce problème mineur?
Merci! P> p>
3 Réponses :
En supposant que votre méthode JQuery est à votre vue, vous pouvez utiliser génère une URL entièrement qualifiée à un
Méthode d'action en utilisant le spécifié
Nom d'action et nom du contrôleur. P>
blockQuote> ou ceci si vous utilisez RAZOR P> url.action () code> p>
$("#ddlCategoryMain").change(function () {
$.post(myUrl , { mileID: $(this).val() }, function (data) {
refreshDiv($("#main"), data);
});
});
Merci! Votre première option est quelque chose que je cherchais, mais d'une manière ou d'une autre devait avoir mal à faire car cela ne fonctionnait pas. Il fait maintenant!
Est-ce que quelqu'un sait pourquoi ça ne fonctionne pas sans URL.Action ()?
Pas une réponse directe, mais c'est comme ça que je le fais sur mon site Zend MVC, lorsque j'ajoute mon jQuery - j'ai défini un VaR comme URL de base - alors dans l'appel Ajax, placez le var devant le chemin .
Donc, pour moi, je ferais: p> puis je pourrais utiliser; p>
Nous étions confrontés au même problème lorsque nous avons déployé le code sur le serveur, il a été très bien fonctionné, donc cela nous a permis beaucoup.
Nous utilisons RAZOR et c'est ce que nous faisions: P>
$.post('@Url.Action("PostEditProduct","Home")', { } ...
Utiliser @ URL.Action (..) est toujours une bonne décision avec MVC! Ne chancez jamais le code du chemin, vous pouvez donc changer de manière dynamique des itinéraires de manière dynamique.