Ce code JavaScript est utilisé pour transmettre une chaîne à partir d'une vue sur une action dans un contrôleur: Brandsofacategory code dans le contrôleur: p> public ActionResult brandsOfACategory(string id)
{
return View();
}
3 Réponses :
Avec votre code actuel, lorsque l'appel AJAX est effectué, la charge utile de la demande n'a qu'une valeur de chaîne. Par exemple, si votre lien cliqué a une valeur d'attribut code> id code> "link1", il enverra la chaîne ci-dessous comme la charge utile de la demande de votre appel AJAX. (Vous pouvez le voir si vous ouvrez vos outils de développement. -> Onglet Réseau) Pour la liaison de modèle au travail, la charge utile doit avoir un format de la valeur de clé de sorte que la valeur soit mappée sur le paramètre de la même valeur que la clé. < / P> Comme il s'agit d'une valeur simple, vous n'avez pas besoin d'envoyer nécessairement la version JSON strongifiée et le supposer que votre étiquette d'ancrage a une Valeur dans le script, Vous voulez probablement arrêter le comportement de clic normal aussi pour empêcher la page de naviguer à la valeur d'attribut href. p> ceci enverra la valeur comme si l'utilisateur de lien cliqué n'a pas de contentType code> comme application / json code>. Envoyez simplement l'objet JS comme DATA CODE>. Assurez-vous que vous envoyez un objet JavaScript qui a la clé / nom de la propriété identique à votre nom de paramètre de méthode d'action ( ID code>) et fonctionnera. P> ID code> Attribut de sorte que le this.id code> expression renvoie la valeur de chaîne valide. p> id = myid code> comme des données de formulaire pour la demande. Puisque vous ne spécifiez pas explicitement le contenu de contenu, il utilisera le application par défaut / x-www-form-urlencoded code> p> ID code> Attribut, le code n'enverra aucune valeur car this.id code> renvoie une chaîne vide et votre valeur de paramètre au côté serveur sera null. p> p>
$.ajax({
type: 'POST',
url: '/brandsOfACategory',
contentType: 'application/json; charset:utf-8',
data: { 'id': id }
})
this.Id code> peut contenir NULL - non pas besoin d'utilisercontentType code> car vous pouvez le transmettre commeDATA: {id: "Soirée"} code>.