2013-01-03 34 views
0

我有以下代碼:如何從jQuery調用MVC操作方法? 。

.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')負載(HREF);但是對於這個 我不需要對返回值做任何事情。有沒有 的方式,我可以從jQuery 網頁調用這個動作方法,而不是一個負載?

回答

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. 
}); 
0

看起來你會更好用window.location,因爲它似乎你想在函數結束時重定向。

如果確實需要使用Ajax,使用jQuery Ajax

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