如何用JOSN实现登陆。 求思路,求源码。
解决方案 »
- .net的批量上传图片???
- 用asp.net 做的东西,每个页面都要引用登录信息。用什么好?
- 求救:指定的参数已超出有效值的范围。参数名: 小时、分和秒参数描述无法表示的 DateTime 请问这是什么原因??
- 怎么把数据库中datetime的字段,精确到毫秒转换为字符串?在线等待
- 如何在flashmx2004中发送的消息在asp.net中的socket通信,处理,返回?
- 一个已编译好的flash文件,我怎么知道它里边引出什么参数?
- 这一段代码是什么意思,求解
- 如何在二页之间传数据
- 在下写的一个绚丽多彩的3D花篮,现在公布源代码,希望和大家共同切磋交流:)
- asp.net和xml,很简单的问题
- js获取后台变量值的问题
- C# 关于正则表达式 高手进
JOSN 我不懂,从来没接触过。 不过,最近让用json做登陆。我网上看了很多。都不明白。
$(".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和登陆有什么关系吗,只不过一个数据表示方式而已
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();
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;
}
}
这个看看官网介绍就行了,和xml一样,就是个浅显的数据表示规范
http://www.json.org/json-zh.html