如何用JOSN实现登陆。         求思路,求源码。 

解决方案 »

  1.   

    json和登陆扯不上关系;JSON是网落传输数据所采用的一种格式好象.
      

  2.   


     JOSN 我不懂,从来没接触过。 不过,最近让用json做登陆。我网上看了很多。都不明白。 
      

  3.   

    $("#op_login").click(function () {
                    $(".op-input").CheckEmpty(function (result) {
                        if (!result) {
                            //非空,登录
                            $.ajax({
                                type: "POST",
                                url: "PrivateCmsService.svc/VerifyUserLogin",
                                data: '{"userName":"' + $("#op-name").val() + '","pwd":"' + $.md5($("#op-pwd").val()) + '"}',
                                dataType: "json",
                                contentType: "text/json;",
                                beforeSend: function (XMLHttpRequest) {
                                    $("#op_login").prop("disabled", true);
                                    $("#TxtStatus").html(String.format(TIPS_TEXT, "<img src='images/ajax-loader.gif' alt='' />", "请稍候……"));
                                },
                                error: function (XMLHttpRequest) {
                                    $("#op_login").prop("disabled", false);
                                    $("#TxtStatus").html(String.format(TIPS_ERROR, "ERROR", "登录失败" + XMLHttpRequest.responseText));
                                },
                                success: function (result) {
                                    if (result.d) {
                                        $("#TxtStatus").html(String.format(TIPS_TEXT, "", "已登录,<a href='default.aspx'>正在跳转</a>")).fadeIn(2000, function () { window.location = 'ccenter/default.aspx'; });
                                    } else { $("#op_login").prop("disabled", false); $("#TxtStatus").html(String.format(TIPS_ERROR, "ERROR", "可耻的失败了")); }
                                }
                            });
                        }
                    }); public bool VerifyUserLogin(string userName, string pwd)
            {
                try
                {
                    Op op = opDao.GetByLoginName(userName);
                    //密码=md5(md5(input)+salt)
                    return op.Password == MD5Tool.Encrypt(pwd + op.PasswordSalt);
                }
                catch { return false; }
            }json和登陆有什么关系吗,只不过一个数据表示方式而已
      

  4.   


    function changewhole() {
                var wholesaleID = $(this).children('option:selected').val();
                alert(wholesaleID);
                $.ajax({
                    url: "CKBill_List.aspx.aspx?wholesaleID=" + wholesaleID,
                    type: "post",
                    success: function(data) {
                        try {
                            $("#ctl00_Condition_DataListQuery_ctl00_ckbm").empty(); //清空市下拉框
                            $("#ctl00_Condition_DataListQuery_ctl00_ckbm").append("<option value=''></option>");
                            var json = eval(data);//解析传过来的json格式字符串
                            $.each(json, function(i, item) {
                                $("#ctl00_Condition_DataListQuery_ctl00_ckbm").append("<option value='" + item.value + "'>" + item.value + "-" + item.name + "</option>");
                            });//解析之后可以用key-value的形式获取数据
                        }
                        catch (e) {
                        }
                    }
                });
            }
    -------------------------------......
    ......
    ///前面的省略了
    //text将用json的方式构造
     string text = "[";
                foreach (DataRow dr in mdsSale.DataSet.Tables[0].Rows)
                {
                    text += "{'name':'" + dr["ckbm"].ToString().Trim() + "-" + dr["ckmc"].ToString().Trim() + "','value':'" + dr["ckbm"].ToString().Trim() + "'},";
                }
                text = text.Substring(0, text.Length - 1) + "]";
                Response.Write(text);
                Response.Flush();
                Response.End();
      

  5.   

    jQuery(function($) {
        var username = $("#username");
        var pwd = $("#pwd");
        var code = $("#code");
        $("#oalogin").click(function() {
        $.post("Ajax/Help/Ajax_Help.ashx?method=login&date=" + new Date().getTime(), { Action: "post", username: username.val(), pwd: pwd.val(), code: code.val()},
            function(data, textStatus) {
                if (data.result == 'Eok') {
                    top.location.href = "index.aspx?a0e4=ee11cbb19052e40b07aac0ca060c23ee";
                }
                else if(data.result == 'Aok') { 
                    top.location.href = "index.aspx?a0e4=21232f297a57a5a743894a0e4a801fc3";
                }
                else {
                            if(data.result=="Code")
                            {
                               showMsgErr("RegVerifyCode_info","");
                               pass=false;
                               return false;
                               checkform();
                            }
                            else if(data.result=="UP")
                            {
                              showMsgErr("loginid_info","");
                              showMsgErr("password_info","");
                              pass=false;
                              return false;
                              checkform();
                            }
                            else
                            {
                              checkform();
                            }
                }         }, "json");
        });
    });function jumpUrl(url) {
        document.getElementById("check_code").src = url;
    }function validateNum(s)
    {
    if(s.search)
    {
    return (s.search(new RegExp("^[0-9]+$","g"))>=0)
    }
    }function validatestr(str1)
    {
        var str = str1;
        var patn =/^[a-zA-Z0-9]+$/;
        if(!patn.test(str))
        {
            return false;
        }
        return true;
    }function validatePassword(str){
    //var str = obj.value;
    var patn1 =   /^[a-zA-Z0-9]+$/;
    if(!patn1.test(str) ) return false;
    return true;
    }
    function trim(srcStr)
    {
    var i,j,len;
      len=srcStr.length;
    for(i=0;i<len;i++)
    if(srcStr.charAt(i)!=' ') break;
    for(j=len-1;j>=i;j--)
    if(srcStr.charAt(j)!=' ') break;
    if(i>j) 
      return "";
      else 
      return srcStr.substr(i,j-i+1);
    }
    function $(obj)
    {
        return document.getElementById(obj);
    }var pass=true;
    var usernamepass=0;
    var emailpass=0;
    function title1(str1,str2,strmsg)
    {    var obj1=$(str1);
        var obj2=$(str2);
        if(trim(obj1.value)==''||obj1.value.substring(0,3)=="hm-")
        {
            obj2.style.display="block";
            obj2.className="notetrue";
            obj2.innerHTML=strmsg;
            
        }
    }
      function checkusername()
      {
        var username=$("username");
        var strname=username.value;
        if(trim(strname)!='')
        {   
            if(strname.length<6||strname.length>20 )
            {
                showMsgErr("loginid_info","");
                pass=false;
                usernamepass=1;
                return false;
            }
            if(!validatestr(strname))
            {
                showMsgErr("loginid_info","");
                pass=false;
                usernamepass=2;
                return false;        
            }
            showMsgLoad("loginid_info","");
                   showMsgOk("loginid_info","");
                   usernamepass=3;
         }
         else
         {
              showMsgErr("loginid_info","");
              pass=false;
              usernamepass=4;
              return false;  
         }
      }  function checkpassword()
      {
        var strpassword=$("pwd").value;
        var strusername=$("username").value;
        if(trim(strpassword)!='')
        {
            if(strpassword.length<6||strpassword.length>20)
            {
                showMsgErr("password_info","");
                pwdpass=1;
                pass=false;
                return false;            
            }
            if(!validatePassword(strpassword))
            {
                showMsgErr("password_info","");
                 pwdpass=2;
                pass=false;
                return false;        
            }
            showMsgOk("password_info",""); 
                  pwdpass=3;
         }
         else
         {
             showMsgErr("password_info","");
              pwdpass=4;
              pass=false;
         }
      } function checkRegVerifyCode()
     {
        var strRegVerifyCode=$("code").value;
        if(trim(strRegVerifyCode)!=''&&strRegVerifyCode.length==4)
        {
            showMsgOk("RegVerifyCode_info","");  
        }
        else
        {
           showMsgErr("RegVerifyCode_info","");
           pass=false;
           return false;
        }
     }  //显示警告信息
     function showMsgWarm(divid,errmsg)
     {
        var objdiv=$(divid);
        objdiv.className="notetrue";
        objdiv.style.display="block";
        objdiv.innerHTML=errmsg; 
     } 
     //加载状态
     function showMsgLoad(divid,errmsg)
     {
        var objdiv=$(divid);
        objdiv.className="noteload";
        objdiv.style.display="block";
        objdiv.innerHTML=errmsg;
     }
     //显示出错信息
     function showMsgErr(divid,errmsg)
     {
        var objdiv=$(divid);
        objdiv.className="noteawoke";
        objdiv.style.display="block";
        objdiv.innerHTML=errmsg; 
     } 
      //显示正确信息
     function showMsgOk(divid,errmsg)
     {
        var objdiv=$(divid);
        objdiv.className="noteok";
        objdiv.style.display="block";
        objdiv.innerHTML=errmsg; 
     }   function checkform()
     {  
        checkusername();
        checkpassword();
        checkRegVerifyCode();    
        if(!pass) {
            return false;
        }
        else
        {
            return true;
        }     
        
     }
      

  6.   


    这个看看官网介绍就行了,和xml一样,就是个浅显的数据表示规范
    http://www.json.org/json-zh.html
      

  7.   

    一种数据表示格式而已,你得再结合ajax请求来判断登录就行了