Maison > Article > interface Web > jquery accède au fichier ashx, exemple de code_jquery
Le fichier .ashx est utilisé pour écrire le gestionnaire Web. Le fichier .ashx est similaire au fichier .aspx. Vous pouvez l'utiliser pour appeler la classe HttpHandler, ce qui élimine l'analyse de contrôle et le traitement des pages .aspx ordinaires. En fait, il s'agit d'un fichier mixte HTML et C#.
Le fichier.ashx convient à la génération de formats de données qui sont traités par le navigateur et ne nécessitent pas de traitement de publication, par exemple pour générer des images dynamiques, du texte dynamique et d'autres contenus. Beaucoup doivent utiliser cette méthode de traitement. Ce document fournit une démonstration simple de l'appel des fichiers ashx et publie le code source des fichiers clés.
Ce qui suit est le code source dans le fichier Login.ashx dans la démo :
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; } } }
Ce qui suit est le code source en 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>