2010-08-09 110 views
0

我想从客户端AJAX/JQuery消息调用C#中的方法。 的客户端代码:ajax调用C#方法不起作用

 function TestClickFunc(userId) { 

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

     } 

,此方法被用正确的参数调用。 但是在我的UsersController中,这个方法没有被调用;

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

你能明白为什么吗?

+0

检查Firebug或Fiddler中的HTTP响应。 – SLaks 2010-08-09 13:33:49

+0

先尝试定期进行POST调用,以确定问题是否出现在AJAX调用或控制器中。 – Dismissile 2010-08-09 14:37:26

回答

0

我发现CDN无法正常工作;

我看不到拼写错误,但它在我使用本地脚本时起作用!

0

检查您是否拥有带参数userId的路由。在默认路由中,参数的名称是id,而不是userId,因此您的方法将不会被找到。

+1

'type:“POST”,' – SLaks 2010-08-09 13:33:27

+0

我认为我真正的问题是我在JavaScript函数中调用JQuery,并且$没有被识别。 – arame3333 2010-08-09 14:51:30

+0

你可以通过用jQuery代替$来测试: jQuery.ajax({... – 2010-08-09 15:03:20