如何通过AJAX在ASP.NET MVC 3登录 [英] How to Login through AJAX in ASP.NET MVC 3

查看:227
本文介绍了如何通过AJAX在ASP.NET MVC 3登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

没有,我一直坚持在这里......你能帮我出...

No i have been stuck here ... can you please help me out...

$(':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');
        }
    });
 });

这是不工作...它不是以某种方式调用动作控制器...

this is not working ...its not calling the action controller somehow...

我的控制器动作

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

请帮忙....还做我需要prevent提交按钮像电子preventDefault()的defualt行为;

please help.... also do i need to prevent the defualt behavior of the submit button like e.preventDefault();

推荐答案

下面是步骤,你需要做的:

Here are the steps you need to do:


  • 您的LoginController需要验证的登录名和返回包含登录状态的HTML片段。请注意,你并不需要的睡在这里的HTML。只是包含结果的片段

  • 正如你可能知道,您可以利用 jQuery.ajax ,你把你的观点。要登录结果追加到DIV,你可以使用 jQuery.html 这里是片段,你会需要(注:尚未调试,但大致类似下图)

  • Your LoginController would need to validate the login and return the HTML Fragments containing the Login Status. Note that you don't need a fullblown HTML here. Just the fragments containing the result
  • As you probably know, you can utilize jQuery.ajax that you put in your view. To append the Login Result into the DIV, you could use jQuery.html Here is the snippet that you would need (NOTE: not debugged yet, but roughly something like below)

// 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);
        }
    });
});

这篇关于如何通过AJAX在ASP.NET MVC 3登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆