AJAX  是一种网页数据异步加载技术

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

一、Json    

注意Json里面不可出现单引号,要用双引号转义。

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

Json是一种跨语言的数据传递格式

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

注意:最后一个key:value后边不能加逗号

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

注意:数组格式最后一个Json对象后边也不能加逗号。每一个{}都是一个Json对象

二、ashx     一般处理程序

只有后台部分,用于数据处理。

只需要操作ProcessRequst这个方法里面的内容,如需引用命名空间,则在最顶部引用,其他内容不需要操作。

引Linq命名空间    using System.Linq;

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

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

所有的内置对象在ashx里都要通过context来点出来。

获取Json中传来的数据

string s =context.Requst["key"];

 

将返还数据拼成Json结构:

1、Json对象

string end="{\"has\":\"false\"}";

2、Json数组

StringBuilder str = new StringBuilder();

str.Append("[");

str.Append("{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":\"value3\"}");

str.Append("]");

public void ProcessRequest(HttpContext context)
{
StringBuilder str = new StringBuilder();
str.Append("["); using (DataClassesDataContext con = new DataClassesDataContext())
{
List<Users> ulist = con.Users.ToList();
int count = ;
foreach (Users u in ulist)
{
if (count > ) str.Append(",");
str.Append("{\"username\":\"" + u.UserName + "\",\"password\":\"" + u.PassWord + "\",\"nickname\":\"" + u.NickName + "\",\"sex\":\"" + u.Sex + "\",\"birthday\":\"" + u.Birthday + "\",\"nation\":\"" + u.Nation + "\"}");
count++;
}
} str.Append("]"); context.Response.Write(str);
context.Response.End();
}

Json返回数组结构

将要返回的Json数据返回出去

context.Response.Write(end);   或者   context.Response.Write(str);

context.Response.End();

 三、Ajax基本结构 (前台Js部分)

$.ajax({

url:"Insert.ashx",                      要提交到的服务端的相对路径。

type:"post",

data:{"key":"value"},                 key与服务端接受的key一致。

dataType:"json",

success:function(msg){               处理完毕的回调。()内一般写data或者msg,代表返还的Json数据对象,

alert(msg.has);                    通过这个对象可以点出对象对应的属性获取对应的值。

}

});

<script type="text/javascript">

    $("#txt1").keyup(function () {

        var s = $(this).val();    //取文本框的值

        if (s.length < ) {

            $("#txt1_msg").text("用户名不可以小于6位!");

            return;    //当文本框的值不够6位时,不进入AJAX
} $.ajax({
url: "Handler.ashx",
data: { "uname": s }, //提交的数据,(k:v) k 与例1对应
type: "post",
dataType: "json",
success: function (msg) {
if (msg.has == 'false') {
$("#txt1_msg").text("恭喜!用户名可用!");
$("#txt1_msg").css('color','green');
}
else {
$("#txt1_msg").text("用户名已被占用!");
$("#txt1_msg").css('color', 'red');
}
}
}); });

解析一个Json对象

解析Json数组来展示数据:

在前台html代码中

<table>

<thead>

<tr style="height: 50px; color: white; font-size: 20px; font-weight: bold;">
                   <td>编号</td>
                   <td>用户名</td>
                   <td>密码</td>
                   <td>昵称</td>
                   <td>性别</td>
                   <td>生日</td>
                   <td>民族</td>
                   <td>操作</td>
            </tr>

</thead>

<tbody id="tbody1">

</tbody>

</table>

function DataLoad() {
$.ajax({
url: "LoadData.ashx",
data: {},
type: "post",
dataType: "json",
success: function (msg) {
//先清空<tbody></tbody>里面的html代码
$("#tbody1").empty();
//循环创建行数据
for (var i = ; i < msg.length; i++) {
var str = "<tr style=\"background-color: white;\">";
str += "<td>" + msg[i].ids + "</td>";
str += "<td>" + msg[i].username + "</td>";
str += "<td>" + msg[i].password + "</td>";
str += "<td>" + msg[i].nickname + "</td>";
str += "<td>" + msg[i].sex + "</td>";
str += "<td>" + msg[i].birthday + "</td>";
str += "<td>" + msg[i].nation + "</td>";
str += "<td><input type=\"button\" class=\"btn_update\" name=\"" + msg[i].ids + "\" onclick=\"update(" + msg[i].ids + ")\" value=\"修改\"/>&nbsp;&nbsp;<input type=\"button\" name=\"" + msg[i].ids + "\" onclick=\"deletes(" + msg[i].ids + ")\" class=\"btn_delete\" value=\"删除\"/></td>";
str += "</tr>"; //将创建的行数据追加到<tbody></tbody>里
$("#tbody1").append(str);
}
} });
}

解析Json数组

【2017-06-05】Jquery.ajax的更多相关文章

  1. 【2017年新篇章】 .NET 面试题汇总(二)

    本次给大家介绍的是我收集以及自己个人保存一些.NET面试题第二篇 第一篇文章请到这里:[2017年新篇章] .NET 面试题汇总(一) 简介 此次包含的不止是.NET知识,也包含少许前端知识以及.ne ...

  2. 【2017山东day7】养猫

    [2017山东day7]养猫 Description 你养了一只猫,为了让它快乐地成长,你需要合理地安排它每天的作息时间.假设一天分为$ n \(个时刻,猫在每个时刻要么是吃东西,要么是睡觉.在第\) ...

  3. 【JavaScript】jQuery Ajax 实例 全解析

    jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对 ...

  4. 【转】JQuery.Ajax之错误调试帮助信息

    下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求 ...

  5. 【转】jQuery.ajax向后台传递数组问题

    $.ajax({ url: "/xxx", type: "GET", data: { "boxIds": boxIds, "box ...

  6. 【文件上传】jquery之ajaxfileupload异步上传插件

    来自:http://www.blogjava.net/sxyx2008/archive/2010/11/02/336826.html 由于项目需求,在处理文件上传时需要使用到文件的异步上传.这里使用J ...

  7. 【FreeRTOS学习05】深度解剖FreeRTOSConfig.h实现对系统的自定义剪裁

    ROM/RAM太小,因此要对系统进行剪裁: 相关文章 [FreeRTOS实战汇总]小白博主的RTOS学习实战快速进阶之路(持续更新) 文章目录 相关文章 1 系统的剪裁 2 FreeRTOSConfi ...

  8. 【原创经验分享】JQuery(Ajax)调用WCF服务

    最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...

  9. 【初探移动前端开发05】jQuery Mobile (整合版)

    前言 为了方便大家看的方便,我这里将这几天的东西整合一下发出. 里面的例子请使用手机浏览器查看. 什么是jQuery Mobile? jquery mobile是jquery在移动设备上的版本,他是基 ...

  10. 【初探移动前端开发05】jQuery Mobile (下)

    前言 继续我们移动端的学习,今天到了List相关了. 本文例子请使用手机查看 List列表 在移动设备平台下,由于移动设备屏幕比较小,我们又是用手在上面点击的触屏方式,传统的列表模式在手机上就不太友好 ...

随机推荐

  1. Java中的排序方法

    冒泡排序法 快速排序

  2. 商城项目实战 | 1.1 Android 仿京东商城底部布局的选择效果 —— Selector 选择器的实现

    前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 京东商城的底部布局的选择效果看上去很复杂,其实很简单,这主要是要 ...

  3. html、css、js实现简易计算器

    学习HTML,CSS,JS一个月后,想着能自己是否能写出一个简单的东西,故编写了简易的计算器,之前也写过一个坦克大战,坦克大战的有些基本功能没有实现, 故也没有记录下来,想来,对这行初来咋到的,还是需 ...

  4. java线程控制方法

    一.中断线程 1.Thread.sleep()让线程进入睡眠状态,放弃CPU的占用暂停若干毫秒使用方法: public class runable implements Runnable { @Ove ...

  5. Linux防火墙配置—访问外网WEB

    一.实验目标 1.本次实验在"Linux基础网络搭建实验"的基础上,在外网虚拟机上搭建WEB服务,并分别配置外网和网关的防火墙规则,使内网能够访问WEB服务 2.Linux基础网络 ...

  6. rapidPHP 1.1.0 介绍

    RapidPHP介绍 RapidPHP本着免费开源.快速.高效.简单的面向对象的 轻量级PHP开发框架. 版本: 1.1.0 官网: rapidPHP.gx521.cc 作者: 954418992@q ...

  7. Spring+SpringMvc+Mybatis 框架的搭建(一)

    本文是因为实习结束后学习到了新的技术,想写下来和更多人交流.开发中遇到的问题我也会一一说明,希望有更多人可以互相探讨,加入到一起来. 1. Spring+SpringMvc +Mybatis 的作用有 ...

  8. OC中Foundation框架

    框架的概念 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的组合,以便使研发程序变的更容易在OS X下地Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation框架 ...

  9. Android 6.0的权限问题

    Android 6.0的权限获取不同于别的版本,具体的实例如下: if (ContextCompat.checkSelfPermission(this, Manifest.permission.REA ...

  10. SSH小结

    工作有一段时间了,经常用SSH登录远程机器,但对原理一直不是很了解,所以查阅了一些资料,写个小结. 一. SSH是什么? SSH的全称是Secure Shell, 是一种"用来在不安全的网络 ...