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を使用してWebページからこのアクションメソッドを呼び出す方法はありますか?

4

2 に答える 2

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投稿を使用します。

.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を使用する必要がある場合は、jQueryAjaxを使用してください

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