2010-08-09 5 views
0

Je veux appeler une méthode en C# d'un côté client de messagerie AJAX/JQuery. Le code client est:appel ajax à la méthode C# ne fonctionne pas

 function TestClickFunc(userId) { 

      $.ajax({ 
       url: "/Users/UpdateEmailDistributionListFlag", 
       type: "POST", 
       data: { "userId" : userId }, 
       success: function (data) { alert(data); } 
      }); 

     } 

Cette méthode est appelée avec le paramètre correct. Cependant, dans mon UsersController, cette méthode n'est pas appelée;

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult UpdateEmailDistributionListFlag(int userId) 
    { 
     // db update 
     return View(); 
    } 

Pouvez-vous voir pourquoi?

+0

Vérifiez la réponse HTTP dans Firebug ou Fiddler. – SLaks

+0

Essayez d'effectuer un appel POST normal en premier pour déterminer si le problème provient de l'appel AJAX ou du contrôleur. – Dismissile

Répondre

0

Ce que j'ai trouvé que le CDN ne fonctionnait pas;

je ne vois pas l'erreur d'orthographe, mais cela a fonctionné quand j'utilisé mon script local!

0

Vérifiez si vous avez un itinéraire avec le paramètre userId. Dans la route par défaut, le nom du paramètre est id, pas userId, donc votre méthode ne sera pas trouvée.

+1

'type:" POST ",' – SLaks

+0

Je pense que mon vrai problème est que j'appelle JQuery dans une fonction Javascript, et $ n'est pas reconnu. – arame3333

+0

Vous pouvez tester ceci en remplaçant $ par jQuery comme: jQuery.ajax ({... –