0

我有以下代码:

.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 从网页调用此操作方法而无需加载?

4

2 回答 2

1

使用jQuery ajax,你可以执行一个 post 到 action 方法:

.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 帖子

.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.
});
于 2013-01-03T00:47:46.310 回答
0

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

如果你真的需要使用 Ajax,请使用jQuery Ajax

$.ajax({
  url: "LogOff"
}).done(function() { 
 window.location =
});
于 2013-01-03T00:46:18.877 回答