Faire une requête AJAX à l'aide de $.ajax en MVC 4
Je suis en train de faire une requête AJAX à l'aide de $.ajax en MVC 4 avec lame de Rasoir. Je ne suis pas sûr de la façon de la mettre en œuvre.
À l'aide de cette vidéo j'ai pu réussir à faire un lien piloté par appel, qui a renvoyé des données, mais je n'arrive pas à faire la même chose à l'intérieur de la fonction jquery. Je n'arrive pas à trouver un quelconque des exemples de base de la façon de faire.
C'est ce que je suis en train de travailler avec:
HomeController.cs
public string test(){
return "It works";
}
Vue.cshtml
function inventory(dealerID) {
$.ajax({
url: '@Url.Action("HomeController","test")',
data: {dealerID: dealerID},
type: 'POST',
success: function(data) {
process(data);
}
});
}
OriginalL'auteur Mason | 2012-10-22
Vous devez vous connecter pour publier un commentaire.
Vous avez juste besoin de faire un
ActionResult
. Aussi, si vous êtes en utilisant Ajax POST, alors l'action doit être marqué avec leHttpPost
attribut. Essayez ceci:Modifier en Fait, il y a quelques problèmes avec la syntaxe.
Url.Action
a l'action de contrôleur de paramètres dans le mauvais ordre, doivent être "ActionName" d'abord, puis "ControllerName"Url.Action
, si le contrôleur de classe est "HomeController", alors vous avez besoin juste de la "Maison"success: function(data) {}
.Dans votre exemple, comment ne
test()
méthode get ledealerId
du JSON vous l'envoyer? Dois-je supposer qu'il est passé en tant que paramètre à la méthode, et vous avez simplement omis?oui, exactement. Le MVC système de routage est assez flexible pour le contrôleur de paramètres à partir de là où ils sont disponibles-chaîne de requête, de publier des données, ou des données de parcours.
Comment pouvez-vous ajouter le code C# dans un fichier js externe? Je sais comment je peux le faire dans un fichier html, mais pas pour un fichier js.
Vous pourriez le faire (l'inclure dans le système de routage), mais ne semble pas souhaitable. Mieux prendre en compte la dépendance externe de la JS; le C# dépendante de la JS inline script, ou qu'une vue partielle.
OriginalL'auteur McGarnagle