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;
        }
    }

}

 

 

posted @ 2016-08-12 11:38  高和平  阅读(119)  评论(0编辑  收藏  举报