Как войти через AJAX в ASP.NET MVC 3 - PullRequest
1 голос
/ 04 сентября 2011

Нет, я застрял здесь ... не могли бы вы помочь мне ...

$(':submit').click(function (e) {
    var username = $('#username').val();
    var password = $('#password').val();
    var postdata =
    {
        'Email': username,
        'Password': password
    };

    $.post({
        url: 'http://localhost:7651/Home/CheckLogin',
        data: postdata,
        success: function (msg) {
            alert('Hi');
        }
    });
 });

это не работает ... его как-то не вызывает контроллер действия ...

действие моего контроллера

public string CheckLogin(Users checkuser)
{
    if (db.CheckUserLoginDetails(checkuser.Email, checkuser.Password))
    {
        return "Login Successful:" + checkuser.Email;
    }
    else
    {
        return "Login UnSuccessful";
    }
}

, пожалуйста, помогите .... также мне нужно предотвратить поведение по умолчанию кнопки отправки, например e.preventDefault();

1 Ответ

2 голосов
/ 04 сентября 2011

Вот шаги, которые вам нужно сделать:

  • Ваш LoginController должен будет подтвердить логин и вернуть HTML-фрагменты, содержащие статус логина.Обратите внимание, что вам не нужен полноценный HTML здесь.Только фрагменты, содержащие результат
  • Как вы, вероятно, знаете, вы можете использовать jQuery.ajax , который вы поместите в свое представление.Чтобы добавить результат входа в DIV, вы можете использовать jQuery.html Вот фрагмент кода, который вам понадобится (ПРИМЕЧАНИЕ: еще не отлажен, но примерно как ниже)

// Override form submit
$("form").live("submit", function (event) {
    event.preventDefault();
    var form = $(this);

    $.ajax({
        // Get the action URL
        url: form.attr('action'),
        type: "POST",

        // get all form variables
        data: form.serialize(),

        // upon success, the fragment of HTML from the Controller will be stored in loginResultHtml
        success: function(loginResultHtml){

            // append the html to your login DIV id using jQuery.html function
            $(#your-login-status-div-id).html(loginResultHtml);
        }
    });
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...