Rumah > Artikel > hujung hadapan web > akses jquery ashx fail contoh code_jquery
fail .ashx digunakan untuk menulis pengendali web. Fail .ashx adalah serupa dengan fail .aspx Anda boleh menggunakannya untuk memanggil kelas HttpHandler, yang menghapuskan penghuraian kawalan dan pemprosesan halaman halaman .aspx biasa. Malah, ia adalah fail bercampur dengan HTML dan C#.
Fail.ashx sesuai untuk menjana format data yang diproses oleh penyemak imbas dan tidak memerlukan pemprosesan pos balik, seperti untuk menjana gambar dinamik, teks dinamik dan kandungan lain. Ramai yang perlu menggunakan kaedah pemprosesan ini. Dokumen ini menyediakan demo ringkas untuk memanggil fail ashx dan menyiarkan kod sumber fail utama.
Berikut ialah kod sumber dalam fail Login.ashx dalam Demo:
public class Login : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "application/json"; //GET方式获取传递的数据 //string username = context.Request.QueryString["username"]; //string password = context.Request.QueryString["password"]; //POST方式获取传递的数据 string username = context.Request.Form["username"]; string password = context.Request.Form["password"]; string message = null; if (string.IsNullOrEmpty(username)) { message = "用户名不能为空"; context.Response.Write("{\"success\":false,\"message\":\"" + message + "\"}");//此JSON格式非常重要,否则会执行jquery的的error函数 context.Response.End(); } if (string.IsNullOrEmpty(password)) { message = "密码不能为空"; context.Response.Write("{\"success\":false,\"message\":\"" + message + "\"}"); context.Response.End(); } if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password)) { if (username.ToUpper() == "ADMIN" && password == "123") { message = "登录成功"; context.Response.Write("{\"success\":true,\"message\":\"" + message + "\"}"); } else { message = "用户名或密码错误"; context.Response.Write("{\"success\":false,\"message\":\"" + message + "\"}"); } } context.Response.End(); } public bool IsReusable { get { return false; } } }
Berikut ialah kod sumber dalam html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jsquery访问ashx文件</title> <script language="javascript" type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script> <script language="javascript" type="text/javascript"> function login() { $.ajax({ url: 'common/handler/Login.ashx', type: 'POST', data: { 'username': $("#txtUsername").val(), 'password': $("#txtPassword").val() }, dataType: 'json', timeout: 50000, //contentType: 'application/json;charset=utf-8', success: function (response) { alert(response.message); }, error: function (err) { alert("执行失败"); } }); } </script> </head> <body> <div style="width:400px; height:300px; margin:0 auto; background:#c0c0c0;"> <dl style=" width:270px;"> <dd><span>用户名:</span><input type="text" style=" width:150px;" id="txtUsername" /></dd> <dd><span>密 码:</span><input type="password" style=" width:150px;" id="txtPassword" /></dd> <dd><input type="button" style=" width:65px; height:23px; float:right;" onclick="login()" value="登录" /></dd> </dl> </div> </body> </html>