AJAX含义: 即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

  AJAX可以跨语言传递数据,所需文件类型是一般处理程序(数据接口):ashx

数据交换格式:

  xml:

    结构不清晰

    代码量比较大

    查找起来比较费事

    非面向对象结构
  json:

    结构清晰

    代码量相对较小

    面向对象的处理解析方式,查找数据很简单

json的格式:

  键值对

    {"key1":"value","key2":"value"}

  多个对象的json

    [{"key1":"value","key2":"value"},{"key1":"value","key2":"value"},{"key1":"value","key2":"value"}]

AJAX使用

  JS部分的固定格式:(需引用jquery)

$.ajax({
url: "ajax/bbb.ashx", //要将此次请求提交到哪个服务端去
data: { "zhangke": c }, //给服务端带的数据,可以没有,也可以多个
type: "post", //传递的方式
dataType: "json", //数据传递的格式
success: function (aaa) {
document.getElementById("Label1").innerHTML = aaa.lmz;
if (aaa.xc == "true") {
document.getElementById("Label1").style.color = "green";
}
else {
document.getElementById("Label1").style.color = "red";
}
}
});
后台:
public void ProcessRequest (HttpContext context) {

        string s = context.Request["zhangke"];

        string end = "{\"lmz\":\"恭喜!用户名可用!\",\"xc\":\"true\"}";

        if (s == "zhangsan" || s == "lisi")
{
end = "{\"lmz\":\"用户名已被占用!\",\"xc\":\"false\"}";
} context.Response.Write(end);
context.Response.End(); }

  注意:json的格式一定不能错,中间的许多双引号需要转义符,如果容易弄错,个人方法是可以先用个其他符号代替,比如单引号,然后对字符串进行操作把里面的所有单引号替换为双引号

AJAX扩展:(加载多行数据)

  关键部分是后台中需要给JS传递过去多个json对象,以及JS中如何把多个对象的数据加载到表格中

  首先,写好查询方法,查询出需要的数据,返回一个泛型集合,然后用循环拼接出json,特别要注意逗号的拼接

string json = "[";

        List<Users> ulist = new UsersData().Select(c, n);

        int count = 0;
foreach (Users u in ulist)
{
if (count > 0)
{
json += ",";
} json += "{\"username\":\"" + u.UserName + "\",\"password\":\"" + u.PassWord + "\",\"nickname\":\"" + u.NickName + "\",\"sex\":\"" + (u.Sex ? "男" : "女") + "\",\"birthday\":\"" + u.Birthday.ToString("yyyy年MM月dd日") + "\",\"nation\":\"" + u.Nation + "\",\"class\":\"" + u.Class + "\",\"age\":\"" + u.Age + "\"}";
count++;
} json += "]"; context.Response.Write(json);
context.Response.End();
 
然后在界面的表格中,我们需要先写一个tbody标签并给一个id,创建一个变量,把从后台接收过来的多个json对象中的数据进行拼接加工,把这个变量拼接成表格中一段完整的HTML代码,然后使用innerHTML直接添加到tbody中
$.ajax({
url: "ajax/Load.ashx",
data: { "count": count, "number": number },
type: "post",
dataType: "json",
success: function (data) {
document.getElementById("tbody").innerHTML = "";
for (i in data) {
var end = "<tr>";
end += "<td>" + data[i].username + "</td>";
end += "<td>" + data[i].password + "</td>";
end += "<td>" + data[i].nickname + "</td>";
end += "<td>" + data[i].sex + "</td>";
end += "<td>" + data[i].age + "</td>";
end += "<td>" + data[i].birthday + "</td>";
end += "<td>" + data[i].nation + "</td>";
end += "<td>" + data[i].class + "</td>";
end += "</tr>"; document.getElementById("tbody").innerHTML += end;
}
document.getElementById("sp-number").innerHTML = number;
}
});

AJAX异步加载的更多相关文章

  1. 淘宝购物车页面 智能搜索框Ajax异步加载数据

    如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...

  2. Scrapy爬虫框架教程(四)-- 抓取AJAX异步加载网页

    欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction ...

  3. jQuery的AJax异步加载

    主要用到load()方法以及getScript()方法,具体以一个例子说明: 在现有html文件中加载一个拟好的片段,以及在片段加载完成之前阻止用户进一步操作的弹出框. 首先是现有html代码,无任何 ...

  4. ajax异步加载问题

    使用ajax异步加载数据,在之后需要用到这个数据时,应该将之后的js一并写入ajax函数中,否则后面的js不能找到动态拼接的dom节点. 或者将其封装成方法,在ajax动态加载数据的最后调用该方法.

  5. Ajax 异步加载

    AJAX (Asynchronous JavaScript and XML,异步的 JavaScript 和 XML).它不是新的编程语言,而是一种使用现有标准的新方法,是在不重新加载整个页面的情况下 ...

  6. 使用Ajax异步加载页面时,怎样调试该页面的Js

    前言-本人不是干前端的,所以有的名词不专业 在前端中,有时候会遇到这样的框架,http://172.17.11.151:8060/frontend/backend.html#1.html (通过解析U ...

  7. ajax异步加载回跳定位

    1)首先,问题是这样的:page1在一个滚动到页面底部加载更新的函数(功能),当页面滚动了第二页(或更多页)时,点击链接跳转到了其他页面(page2),在page2有返回按钮,当从page2返回pag ...

  8. ajax 异步加载显示等待效果

    css: #loading { width:170px; height:25px; border:3px solid #C3DAF9; position:absolute; top:300px; le ...

  9. ajax异步加载遮罩层特效

    <!doctype html> <html> <head> <title>遮罩层(正在加载中)</title> <meta chars ...

随机推荐

  1. Oracle Sql优化之分层查询(connect by)

    1.对于表中行与行存在父子关系时,可以通过connect by查询方式,查询行与行之间的父子关系 ),'-')|| empno as tempno, ename,mgr,level, decode(, ...

  2. 转:SQL Case when 的使用方法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  3. HDU 2444 The Accomodation of Students

    首先是要构造二分图,然后二分图的最大匹配. 还有没完全证明过我的方法的正确性,但是AC了..... #include<cstdio> #include<cstring> #in ...

  4. Chapter 1 First Sight——21

    They were sitting in the corner of the cafeteria, as far away from where I sat as possible in the lo ...

  5. AngularJS数据建模(转载)

    出处不明 我们知道,AngularJS并没有自带立等可用的数据建模方案.而是以相当抽象的方式,让我们在controller中使用JSON数据作为模 型.但是随着时间的推移和项目的成长,我意识到这种建模 ...

  6. 操,escape sequence的输入方法我以前找过一次,这次又忘了,又找了一次,记下来,

    所有的手册和回答都没有说,都是用 echo -e '\e[22;22m,如果不愿意使用echo -e,也可以 输入CvC[[22:22m 不要再忘记了.

  7. C# 经典入门15章 RichTextBox

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsEAAAIRCAIAAAAk7fcMAAAgAElEQVR4nOy9+SOU3/////pHuswYyz

  8. 线程pthread_create()、pthread_exit()、pthread_join()、pthread_cancel()

  9. git查看每个版本间的差异

    命令行: 1,git log: 2,git diff 版本号码 窗口类型: 1,sudo apt-get install gitk 2,gitk

  10. 【HighCharts系列教程】九、语言属性——Lang

    一.lang属性说明 Lang属性主要用于配置显示的文字等语言相关属性. 主要可配置如下内容:小数点符号.导出相关文字.月份文字.星期文字等 lang属性不重要,无特殊情况,不用配置. 二.lang属 ...