mui.ajax,和asp.net sql服务器数据交互【2】json数组和封装

今天没有做循环创建显示:可以参考张鑫旭的文章:《基于HTML模板和JSON数据的JavaScript交互》

1、ashx页面代码

//下面的封装一般框架底层都是写好的:连接 数据库和获取DataTabel

public SqlConnection getcon()

{

//连接本地数据库 server=localhost

string M_str_sqlcon = "Server=(local);Initial Catalog=userlogin ;U;

SqlConnection myCon = new SqlConnection(M_str_sqlcon);

return myCon;

}

DataTable mytable = new DataTable();

public DataTable gettable(string M_str_sqlstr)

{

SqlConnection sqlcon = this.getcon();

sqlcon.Open();

SqlDataAdapter sqlda = new SqlDataAdapter(M_str_sqlstr, sqlcon);

sqlda.Fill(mytable);

sqlda.Dispose();

sqlcon.Close();

return mytable;

}

/// <summary>

/// dataTable转换成Json格式

/// </summary>

/// <param name="dt"></param>

/// <returns></returns>

public static string DataTableToJson(DataTable dt)

{

StringBuilder jsonBuilder = new StringBuilder();

jsonBuilder.Append(dt.TableName);

jsonBuilder.Append("[");

for (int i = 0; i < dt.Rows.Count; i++)

{

jsonBuilder.Append("{");

for (int j = 0; j < dt.Columns.Count; j++)

{

jsonBuilder.Append("\"");

jsonBuilder.Append(dt.Columns[j].ColumnName);

jsonBuilder.Append("\":\"");

jsonBuilder.Append(dt.Rows[i][j].ToString());

jsonBuilder.Append("\",");

}

jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

jsonBuilder.Append("},");

}

jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

jsonBuilder.Append("]");

return jsonBuilder.ToString();

}

public void ProcessRequest (HttpContext context) {

context.Response.ContentType = "application/json";

string name = context.Request.Params["name"];

string strsql = "select * from login where username like '%" + name +"%'";

DataTable dt = gettable(strsql);

if (dt.Rows.Count > 0 && dt != null)

{

string res = DataTableToJson(dt).ToString();

context.Response.Write(res);

}

}

public bool IsReusable {

get {

return false;

}

}

2、前端页面代码

<body>

<div class="mui-input-row">

<label>账号:</label>

<input >点击获取密码</button>

<div >

这里显示从服务器获取到的数据

</div>

<script src="js/mui.min.js"></script>

<script type="text/javascript">

mui.init();

mui.ready(function() {

var btnLogin = document.getElementById("btnLogin");

var names = document.getElementById("name");

btnLogin.onclick = function() {

var url = "http://localhost/myStudy/APP/Handler.ashx";

mui.post(url, {

name: names.value,

}, function(data) {

//服务器返回响应,根据响应结果,分析是否登录成功;

var jsonstr = JSON.stringify(data); //将JavaScript值转化为json字符串

var jsonobj = JSON.parse(jsonstr); //将json字符串转化为JavaScript对象

var divinner = document.getElementById("div");

divinner.innerHTML = jsonobj[jsonobj.length-1].title;

}, 'json');

};

});

</script>

</body>