Je cette jQuery obtenir demande:Pourquoi ce simple jQuery ne fonctionne-t-il pas?
$.get($(this).attr("href"), { "searchExpression": "schroders" }, function (result) {
// do stuff
}, "html");
qui envoie la demande d'arriver à cette méthode d'action:
public PartialViewResult Tabs(string searchExpression)
{
return PartialView(new SearchViewModel
{
PagedFunds = _fundService.GetFunds(searchExpression)
});
}
La demande $.get
envoie une requête à la méthode Tabs
, mais searchExpression
est toujours vide chaîne. Je l'ai déjà fait et ça a marché. Est-ce que quelqu'un a une idée de la raison pour laquelle les données ne sont pas envoyées ou que le Model Binder ne fonctionne pas?
edit: Je viens de découvrir que la version de jQuery utilisée est 1.2.6. En outre, il y a un autre cadre JS utilisé sur le site - Prototype, je pense - c'est donc la fonction complète que j'utilise pour l'EEG, qui gère les problèmes de compatibilité:
jQuery(document).ready(function ($) {
$('.ActionControl a').click(function() {
$.get($(this).attr("href"), { searchExpression: "schroders" }, function (result) {
// do stuff
}, "html");
return false;
});
});
ne cette offre des indices ? Merci
dave - je l'ai fait un test à ce sujet dans une petite application de test avec jquery et cela a fonctionné 1.4.2 parfaitement. cela pourrait être lié à la version utilisée et/ou au conflit avec le prototype. vous devrez peut-être alias la fonction $ .get à jQuery.get (je pense que c'est la syntaxe) –
Merci jim .. J'ai également fait un test dans un autre projet et cela a fonctionné. Je suis maintenant un ennemi de Prototype! Je vais donner votre suggestion de l'alias un coup de feu. – DaveDev