Ajax学习1
2012-11-26 11:35 露珠的微笑 阅读(142) 评论(0) 收藏 举报jQuery.ajax( url, [ settings ] )
url:一个用来包含发送请求的URL字符串。
settings :一个以“{键:值}”组成的AJAX 请求设置。
下面我们看一下常用的setting列表:
async // boolean,是否同步。跨域请求和dataType: "jsonp"请求不支持同步操作。 complete(jqXHR, textStatus) // function 函数完成时执行,不论成功或者失败 data //object,string {} 需要的参数 dataType// string (“xml“, ”html“, ”script“, ”json“, ”jsonp“, ”text”),返回类型有多个时用空格分割 error(jqXHR, textStatus, errorThrown)// function 发生错误时执行(null,"timeout", "error", "abort" 和 "parsererror”) success(data, textStatus, jqXHR)// function请求成功后执行 type// string get/post, PUT 和 DELETE 也可以使用,但仅部分浏览器支持 url// string 请求需要的地址 timeout// Number 设置为超时的执行时间 statusCode// Map 根据函数返回的状态码来执行相应操作,调用方式为:statusCode: {404: function() { alert('page not found');} jsonp// string 在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分 cache// Boolean是否启用浏览器缓存 beforeSend(jqXHR, settings)// function请求发送前调用
例子:
$.ajax({ url: 'ajax/test.html',
success: function(data) { $('.result').html(data); }
});
var jqxhr = $.ajax({ url: "ajax/test.html" })
.success(function() { alert("success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
jqxhr.beforeSend(function(){ alert("beforeSend"); });
jQuery.get() jQuery.post() 相当于: $.ajax({ url: url, data: data, success: success, dataType: dataType });
后台代码
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Services; using System.Web.Security; using Model; using BLL; namespace Member { public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [WebMethod] public static string loginYN(string username, string password) { tb_admin lg = new tb_admin(); lg._username = username; lg._password = FormsAuthentication.HashPasswordForStoringInConfigFile(password.Trim(), "MD5"); return BLL_login.loginYN(lg); } } }
JS代码
$(document).ready(function () { $('#userId').focus(); $("#login").click(function () { if ($('#userId').val() != "" && $('#pwdId').val() != "") { $.ajax({ type: 'Post', async: false, //调用后台方法 url: 'Login.aspx/loginYN', data: "{'username':'" + $('#userId').val() + "','password':'" + $('#pwdId').val() + "'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { if (msg.d == "1") { window.location.href = 'admin/index.aspx'; } else { alert("用户名或密码错误!"); } }, error: function (err) { alert("登录失败!请稍后再试或联系管理员。"); } }); } else { alert("请输入用户名或密码!"); } }); $("body").bind("keyup", function (e) { if (e.keyCode == 13) { $("#login").click(); } }); });
业务层
View Code
using System; using System.Collections.Generic; using System.Linq; using System.Text; using DAL; using Model; namespace BLL { public partial class BLL_login { public static string loginYN(tb_admin lg) { return DAL_login.loginYN(lg); } } }
底层
View Code
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Web; using Model; namespace DAL { public class DAL_login { /// <summary> /// 用户登录 /// </summary> /// <param name="lg"></param> /// 查询用户,不存在返回0,存在且密码相符返回1 /// <returns></returns> public static string loginYN(tb_admin lg) { string sql = "select * from tb_admin where username = '" + lg._username + "'"; DataTable table = SqlHelper.GetDataSet(sql); if (table.Rows.Count == 0) { return "0"; } else if (lg._password != Convert.ToString(table.Rows[0][2]).Trim()) { return "0"; } else { HttpContext.Current.Session["username"] = Convert.ToString(table.Rows[0][1]).Trim();//获取用户登录帐号 HttpContext.Current.Session["true_name"] = Convert.ToString(table.Rows[0][4]).Trim();//获取用户姓名 return "1"; } } } }
View Code
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using System.Data; using System.Configuration; namespace DAL { public class SqlHelper { public static SqlConnection connection; public static SqlConnection Connection { get { string connectionString = ConfigurationManager.ConnectionStrings ["ConnectionString"].ConnectionString; if (connection == null) { connection = new SqlConnection(connectionString); connection.Open(); } else if (connection.State == System.Data.ConnectionState.Closed) { connection = new SqlConnection(connectionString); connection.Open(); } else if (connection.State == System.Data.ConnectionState.Broken) { connection.Close(); connection.Open(); } return connection; } } #region 增,删,改ExecuteNonQuery /// <summary> /// 单个数据增,删,改 /// </summary> /// <param name="safeSql"></param> /// <returns></returns> public static int ExecuteCommand(string safeSql) { try { using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) { int result = cmd.ExecuteNonQuery(); return result; } } catch (SqlException ex) { throw ex; } } #endregion #region 带参数的增,删,改ExecuteNonQuery /// <summary> /// 带多个参数的增,删,改 /// </summary> /// <param name="safeSql"></param> /// <param name="values"></param> /// <returns></returns> public static int ExecuteCommand(string safeSql, params SqlParameter[] values) { try { using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) { cmd.Parameters.AddRange(values); return cmd.ExecuteNonQuery(); } } catch (SqlException ex) { throw ex; } } #endregion #region 带参数的增,删,改ExecuteNonQuery /// <summary> /// 带多个参数的增,删,改 /// </summary> /// <param name="safeSql"></param> /// <param name="values"></param> /// <returns></returns> public static int ExecuteCommand(string safeSql, CommandType type, params SqlParameter[] values) { try { using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) { cmd.CommandType = type; cmd.Parameters.AddRange(values); cmd.ExecuteNonQuery(); return cmd.ExecuteNonQuery(); } } catch (SqlException ex) { throw ex; } } #endregion #region 带参数的增,删,改ExecuteNonQuery (Special) /// <summary> /// 带多个参数的增,删,改 /// </summary> /// <param name="safeSql"></param> /// <param name="values"></param> /// <returns></returns> public static int ExecuteCommand(string safeSql,CommandType type,SqlParameter[] values,int index){ try { using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) { cmd.CommandType = type; SqlParameter paramOne = new SqlParameter("@rid", SqlDbType.Int); paramOne.Value = index; cmd.Parameters.Add(paramOne); return cmd.ExecuteNonQuery(); } } catch (SqlException ex) { throw ex; } } #endregion #region 查询语句ExecuteScalar /// <summary> /// 查单个值 /// </summary> /// <param name="safeSql"></param> /// <returns></returns> public static int GetScalar(string safeSql) { try { using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) { int result = Convert.ToInt32(cmd.ExecuteScalar()); return result; } }catch(SqlException ex){ throw ex; } } #endregion #region 带参数的查询语句ExecuteScalar /// <summary> /// 带参数的查询语句 /// </summary> /// <param name="sql"></param> /// <param name="values"></param> /// <returns></returns> public static int GetScalar(string sql, params SqlParameter[] values) { try { using (SqlCommand cmd = new SqlCommand(sql, Connection)) { cmd.Parameters.AddRange(values); int result = Convert.ToInt32(cmd.ExecuteScalar()); return result; } } catch (SqlException ex) { throw ex; } } #endregion #region 带执行类型的ExecuteScalar /// <summary> /// 带执行类型的ExecuteScalar /// </summary> /// <param name="sql"></param> /// <param name="type"></param> /// <param name="values"></param> /// <returns></returns> public static int GetScalar(string sql, CommandType type, params SqlParameter[] values) { try { using (SqlCommand cmd = new SqlCommand(sql, Connection)) { cmd.CommandType = type; cmd.Parameters.AddRange(values); int result = Convert.ToInt32(cmd.ExecuteScalar()); return result; } } catch (SqlException ex) { throw ex; } } #endregion #region 返回DataReader /// <summary> /// 查询表,获取多个记录 /// </summary> /// <param name="safeSql"></param> /// <returns></returns> public static SqlDataReader GetReader(string safeSql) { try { using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) { SqlDataReader reader = cmd.ExecuteReader(); return reader; } } catch (SqlException ex) { throw ex; } } #endregion #region 带参数DataReader /// <summary> /// 带参数的-查询表,获取多个记录 /// </summary> /// <param name="sql"></param> /// <param name="values"></param> /// <returns></returns> public static SqlDataReader GetReader(string sql, params SqlParameter[] values) { try { using (SqlCommand cmd = new SqlCommand(sql, Connection)) { cmd.Parameters.AddRange(values); SqlDataReader reader = cmd.ExecuteReader(); return reader; } } catch (SqlException) { throw; } } #endregion #region 返回DataReader ,语句,类型,参数 /// <summary> /// 查询表,获取多个记录---语句,类型,参数 /// </summary> /// <param name="safeSql"></param> /// <param name="cmdType"></param> /// <param name="values"></param> /// <returns></returns> public static SqlDataReader GetReader(string safeSql, CommandType cmdType, params SqlParameter[] values) { try { using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) { cmd.CommandType = cmdType; cmd.Parameters.AddRange(values); SqlDataReader reader = cmd.ExecuteReader(); return reader; } } catch (SqlException ex) { throw ex; } } #endregion #region 返回dataTable /// <summary> /// 返回datatable /// </summary> /// <param name="safeSql"></param> /// <returns></returns> public static DataTable GetDataSet(string safeSql) { DataSet ds = new DataSet(); SqlCommand cmd = new SqlCommand(safeSql, Connection); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); return ds.Tables[0]; } #endregion #region 返回dataTable ,带参数 /// <summary> /// 返回dataTable ,带参数使用 /// </summary> /// <param name="sql"></param> /// <param name="values"></param> /// <returns></returns> public static DataTable GetDataSet(string sql, params SqlParameter[] values) { DataSet ds = new DataSet(); SqlCommand cmd = new SqlCommand(sql, Connection); cmd.Parameters.AddRange(values); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); return ds.Tables[0]; } #endregion } }

浙公网安备 33010602011771号