AJAX (1)
一定要严谨,没有提示,纠错很难
--------------------------------------------------
ajax:
xml:可扩展的标记语言
json:像对象一样的语言
功能:
将数据在不同语言之间交互
xml的劣势:1、代码书写内容过多
2、数据提取较繁琐
ashx:一般处理程序,它的继承级别要比web窗体级别更高
jquery:
------------------------------------------------------
但是,ajax写起来没有提示,一定要仔细慎重
json:
就可以把它拼成一个字符串,它的固定格式:
{"username":"zhangsan","password":"1234","nickname":"张三"}
就是不想让页面刷新了,因为很烦人
用js来实现数据与数据库的交互
用js将数据提交给服务端,服务端执行完了,又把数据返回给js,js把返回回来的数据在页面上更新,就不会刷新页面了
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="js/jquery-1.7.2.min.js"></script> </head> <body> 用户名:<input type="text" id="txt_username" /> <input type="button" id="btn1" value="验证用户名是否可用" /> <span id="span_user"></span> <script type="text/javascript"> $("#btn1").click(function () { var name = $("#txt_username").val(); //把用户填的用户名取出来 //要把此用户名去数据库查询是否存在 $.ajax({ url: "Ashxs/selectUser.ashx", //数据提交的目标服务端 data: { "na": name }, //提交时所需要带过去的数据 type: "post", //提交方式 dataType: "json", //返回的数据保存类型 success: function (aaa) { //aaa随意起名,但是一定要写,返回回来的json数据就是这个aaa if (aaa.has == "1") { $("#span_user").text("此用户名已被注册!"); } else { $("#span_user").text("恭喜!此用户名可以使用!"); } }//success , 数据什么时候执行完了,返回回来了,就走这里面 });//btn1.ajax });//btn1.click </script> </body> </html>
<%@ WebHandler Language="C#" Class="selectUser" %> using System; using System.Web; using System.Linq; using System.Data.Linq; public class selectUser : IHttpHandler { Data0425DataContext con = new Data0425DataContext(); public void ProcessRequest(HttpContext context) { string end = ""; string name = context.Request["na"].ToString(); var data = con.Users.Where(r => r.UserName == name); if (data.Count() > 0) { end = "{\"has\":\"1\"}"; // {"has":"1"} } else { end = "{\"has\":\"0\"}"; } context.Response.Write(end); ------写出 } public bool IsReusable { get { return false; } } }