如何从jQuery调用MVC操作方法?

时间:2013-01-03 00:41:55

标签: jquery

我有以下代码:

.on('click', '#logoutLink', function (e) {
   var $link = $(this);
   var href = $link.attr('data-href');
});

在MVC动作方法中,我有:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult LogOff()
    {
        WebSecurity.Logout();

        return RedirectToLocal("/");
    }

在jQuery中我熟悉$('#xx')。load(href);但为此 我不需要对返回值做任何事情。有没有 我可以使用jQuery从网页中调用此操作方法 没有它是一个负载吗?

2 个答案:

答案 0 :(得分:1)

使用jQuery ajax,您只需执行操作方法的帖子:

.on('click', '#logoutLink', function (e) {
    var $link = $(this);
    var href = $link.attr('data-href');

    .ajax({
      type: 'POST',
      url: href,
      data: data // if you have any or leave out
    }).done(function(){ // do something when it is done, or don't });
});

或使用与此类似的简写版jQuery post

.on('click', '#logoutLink', function (e) {
    var $link = $(this);
    var href = $link.attr('data-href');

    $.post(href); // no callback required if you don't need to have it.
});

答案 1 :(得分:0)

似乎你最好使用window.location,因为看起来你想在功能结束时重定向。

如果您确实需要使用Ajax,请使用jQuery Ajax

$.ajax({
  url: "LogOff"
}).done(function() { 
 window.location =
});