zoukankan      html  css  js  c++  java
  • 2017-6-5 Ajax应用

    1.Ajax  ---  网页数据异步加载

    是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。在不同语言之间传递数据

    xml  --- 可扩展的标记语言

    json  --- 是一种扩语言的数据传递格式

    2.Ajax格式:

    data{}  可以传递多个数据,直接在里面写就可以,注意json格式

       data: { "uname": uname, "pwd": pwd, "nike": nike, "sex": sex, "birthday": birthday, "nation": nation, "cla": cla },

    error:function(){alert("qqqq")}

    用来判断错误的,如果程序走error,代表:

    代表服务端路径错误,服务端出错,服务端没有返回指定的json数据格式

    3.Json数据格式:

    Json对象格式:"{"key1":"value1","key2":"value2","key3":"value3"}"

      注意:最后一个value后面不需要加逗号,只是一行数据的时候不能加[]否则会报错

    Json数组格式:"[{},{},{}]"

      注意:数组最后的一个json对象也不需要加逗号,每个{}都是一个json对象

      只有一组数据的时候才能用[],否则会报错

    4.ashx  一般处理程序

      只有后台数据,用于处理数据,每一个一般处理程序都需要返回一个json对象

      

      str就是json返回的json对象

      在一般处理程序中,主需要在操作ProcessRequst这个方法里面的内容,其他内容不需要操作

      引Linq命名空间    using System.Linq;

      引泛型集合命名空间     Using System.Collections.Generic;

      引用StringBuilder的命名空间     Using System.Text;

      在一般处理程序中,所有的内置对象都需要context点出来

      获取json中传递过来的数据:

      string uname = context.Request["uname"];

    5.返回一个json对象的

    aaa就是json对象:

    string aaa = "{"return":"false"}";
    在json中一个要将双引号就行转义
     string aaa = "{"return":"false"}";
            
            using (StuDataClassesDataContext con = new StuDataClassesDataContext()) 
            {
                string aa = context.Request["ids"];
                Users u = con.Users.Where(r=>r.ids==Convert.ToInt32( aa)).FirstOrDefault();
                if (u != null)
                {
                    con.Users.DeleteOnSubmit(u);
                    con.SubmitChanges();
                }
                aaa = "{"return":"true"}";
                context.Response.Write(aaa);
                context.Response.End();
            }

    6.返回一个json数组:

      返回json数组的时候,用 StringBuilder str = new StringBuilder();  这样不会开辟出多余的内存空间,导致数据冗余

      只有json数组的时候才能加[],

       context.Response.Write(str);    context.Response.End();  将数据库中的数据以json数组的形式返回

     StringBuilder str = new StringBuilder();
            str.Append("[");
            using(StuDataClassesDataContext con = new StuDataClassesDataContext())
            {
                int count = 0;
                List<Users> ulist = con.Users.ToList();
                foreach(Users u in ulist )
                {
                    if (count > 0) { str.Append(","); };
                    str.Append("{"ids":"" + u.ids + "","username":"" + u.UserName + "","password":"" + u.PassWord + "","nikename":"" + u.NikeName + "","sex":"" + u.SexStr + "","birthday":"" + u.Bir + "","nation":"" + u.NationName + "","class":"" + u.ClassName + ""}");
                    count++;    
                }
            
            }
    
            str.Append("]");
            
            
            context.Response.Write(str);
            context.Response.End();

    在js页面中解析json数据:

    在ajax中的success中解析json数组:

    html页面代码:

    Ajax中的代码:

     $.ajax({
                url: "selectAll.ashx",//数据操作的页面
                data: {},//传递的数据
                type: "post",//解析的方式
                dataType: "json",//数据格式
                success: function (msg) {
                    $("#tbody").html("");//先清空页面中的数据,在进行添加
                    for (i in msg) {
                        var str = " <tr>";
                        str += "<td>" + msg[i].ids + "</td>";
                        str += "<td>" + msg[i].username + "</td>";
                        str += "<td>" + msg[i].password + "</td>";
                        str += "<td>" + msg[i].nikename + "</td>";
                        str += "<td>" + msg[i].sex + "</td>";
                        str += "<td>" + msg[i].birthday + "</td>";
                        str += "<td>" + msg[i].nation + "</td>";
                        str += "<td>" + msg[i].class + "</td>";
                        str += "<td><input type='button' zhujian='" + msg[i].ids + "' class='shanchu' value='删除'> <input type='button' zhujian2='" + msg[i].ids + "' class='xiugai' value='修改'></td>";
                        str += "</tr>";
                        $("#tbody").append(str);//将输出的结果放到tbody中
                    }
                },
                beforeSend: function () {
    
    
                },
                complete: function () {
    
                },

      

      

  • 相关阅读:
    java使用递归删除非空目录
    关于Java日期的两道例题
    equals和==的区别
    从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。
    输出所有的水仙花数
    99乘法表
    switch
    next()、nextInt()
    流程控制
    Scanner从键盘输入
  • 原文地址:https://www.cnblogs.com/qingnianxu/p/6957137.html
Copyright © 2011-2022 走看看