瀚城老爷子

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、简介

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

AJAX 是一种用于创建快速动态网页的技术。

AJAX通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

二、基本结构

1、新建Linq(数据库信息封装绑定)

2、组键json对象(数据库数据加载到后台)

对象格式:"{"key":"value","key":"value"}"
数组格式:"[{"key":"value"},{},{}]"

例:

using System;
using System.Web;
using System.Text;
using System.Linq;
using System.Collections.Generic;

public class Handler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        StringBuilder str = new StringBuilder();
        str.Append("[");

        //string s = context.Request["id"];
        int count = 0;
        using (StudentDataContext con = new StudentDataContext())
        {
            List<Users> ulist = new List<Users>();

            ulist = con.Users.ToList();
            foreach (Users us in ulist)
            {
                count++;
                if (count < ulist.Count)
                {
                    str.Append("{\"ids\":\"" + us.Ids + "\",\"username\":\"" + us.Username + "\",\"password\":\"" + us.Password + "\",\"nickname\":\"" + us.Nikename + "\",\"sex\":\"" + us.Sex + "\",\"birthday\":\"" + us.Birthday + "\",\"nation\":\"" + us.Nation + "\",\"num\":\"" + us.Ids + "\"},");

                }
                else
                {
                    str.Append("{\"ids\":\"" + us.Ids + "\",\"username\":\"" + us.Username + "\",\"password\":\"" + us.Password + "\",\"nickname\":\"" + us.Nikename + "\",\"sex\":\"" + us.Sex + "\",\"birthday\":\"" + us.Birthday + "\",\"nation\":\"" + us.Nation + "\",\"num\":\"" + us.Ids + "\"}");
                }
            }

        }
        str.Append("]");
        context.Response.Write(str);
        context.Response.End();
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}
Josn

3、js页面数据展示(后台与前台的数据交互)

table id="tb1" style=" text-align: center; width: 100%;">
 2     <thead>
 3         <tr style="color: #ff6a00;">
 4             <td>用户名</td>
 5             <td>密码</td>
 6             <td>昵称</td>
 7             <td>性别</td>
 8             <td>生日</td>
 9             <td>年龄</td>
10             <td>民族</td>
11         </tr>
12     </thead>
13     <tbody>
14     </tbody>
15     </table>
16     <input type="button" value="加载" id="btn1" />
复制代码
复制代码
页面布局
<script>
 2     //点击加载按钮
 3     $("#btn1").click(function () {
 4         //编写ajax语句,将数据提交到某个服务端去
 5         $.ajax({
 6             url: "ajax/userajax.ashx",//将数据要提交到哪个服务端
 7             data: {},//将什么数据提交到服务端去,{}内基本格式为"key":"要传的数据"
 8             type: "post",//用什么样的方式将数据提交过去
 9             dataType: "json",//返回一个什么样的数据类型
10             //请求完成
11             success: function (data) {
12                 $("#tb1 tbody").empty();//清空tbody
13                 for (i in data) {
14                     var str = "<tr style=\"\">";
15                     str += "<td>" + data[i].username + "</td>";
16                     str += "<td>" + data[i].password + "</td>";
17                     str += "<td>" + data[i].nickname + "</td>";
18                     str += "<td>" + data[i].sex + "</td>";
19                     str += "<td>" + data[i].birthday + "</td>";
20                     str += "<td>" + data[i].age + "</td>";
21                     str += "<td>" + data[i].nation + "</td>";
22                     str += "</tr>";
23                     $("#tb1 tbody").append(str);
24                 }
25             },//success
26             //请求失败
27             error: function () {
28                 alert('服务器连接失败!!!');
29             }
30         });//ajax
31     });//btn1.click
32 </script>
数据绑定

三、完整结构

1、错误处理:error:function(){}

2、加载前处理:beforeSend:function(){}

3、加载完处理:complete:function(){}

编写ajax语句,将数据提交到某个服务端去
 2         $.ajax({
 3             url: "ajax/Login.ashx",//将数据要提交到哪个服务端
 4             data: { "un": $("#txt_uname").val().trim(), "pwd": $("#txt_pwd").val() },//将什么数据提交到服务端去,{}内基本格式为"key":"要传的数据"
 5             type: "post",//用什么样的方式将数据提交过去
 6             dataType: "json",//返回一个什么样的数据类型
 7             success: function (data) {//请求完成
 8                 if (data.has == '1') {
 9                     $("#btn1").attr("disabled", "disabled").val('跳转中...');
10                     window.setTimeout(function () {
11                         window.location.href = "HtmlPage2.html";
12                     }, 3000);
13                 }
14                 else {
15                     $("#sp1").text("用户名密码输入错误!");
16                     $("#btn1").removeAttr("disabled").val('登录');
17                 }
18             },
19             error: function () {//服务器连接错误
20                 $("#sp1").text("服务器连接失败!");
21                 $("#btn1").removeAttr("disabled").val('登录');
22             },
23             beforeSend: function () {//已向服务器发送请求,请求完成前
24                 $("#btn1").attr("disabled", "disabled").val('登录中...');
25             },
26             complete: function () {//请求完成后,可有可无
27                 $("#btn1").removeAttr("disabled").val('登录');
28             }
29 
30 
31         });
复制代码
完整

练习:

省市区三级联动

 

posted on 2017-06-28 08:42  瀚城老爷子  阅读(129)  评论(0编辑  收藏  举报