jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析


Posted in Javascript onJune 08, 2016

本文实例讲述了jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法。分享给大家供大家参考,具体如下:

运行效果截图如下:

jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Ajax和getJSON获取后台普通Json数据和层级Json数据解析</title>
  <script src="JS/jquery-1.8.0.min.js" type="text/javascript"></script>
  <script type="text/javascript">
    $(function () {
      //方式一 Ajax方式获取Json数据
      $.ajax({
        url: 'jsondata.ashx?type=1',
        type: 'GET',
        dataType: 'json',
        timeout: 1000,
        cache: false,
        beforeSend: LoadFunction, //加载执行方法
        error: erryFunction, //错误执行方法
        success: succFunction //成功执行方法
      })
      function LoadFunction() {
        $("#list").html('加载中...');
      }
      function erryFunction() {
        alert("error");
      }
      function succFunction(tt) {
        var json = eval(tt); //数组
        var tt = "";
        $.each(json, function (index) {
          //循环获取数据
          var Id = json[index].id;
          var Name = json[index].name;
          var Age = json[index].age;
          var Score = json[index].score;
          tt += Id + "___" + Name + "___" + Age + "___" + Score + "<br>";
        });
        $("#list").html('');
        $("#list").html(tt);
      }
      //方式二 Json方式获取数据
      $.getJSON(
        "jsondata.ashx?type=1",
        function (data) {
          //循环获取数据
          var tt = "";
          $.each(data, function (k, v) {
            $.each(v, function (kk, vv) {
              tt += kk + ":" + vv + "___";
            });
            tt += "<br/>";
          });
          $("#list2").html(tt);
        }
      );
      //方式三 Ajax方式获取Json层级数据
      $.ajax({
        url: 'jsondata.ashx?type=3',
        type: 'GET',
        dataType: 'json',
        timeout: 1000,
        cache: false,
        beforeSend: LoadFunction1, //加载执行方法
        error: erryFunction1, //错误执行方法
        success: succFunction1 //成功执行方法
      })
      function LoadFunction1() {
        $("#list3").html('加载中...');
      }
      function erryFunction1() {
        alert("error");
      }
      function succFunction1(tt) {
        var json = eval(tt); //数组
        var tt = "";
        $.each(json, function (index) {
          //循环获取数据
          var Id = json[index].id;
          var Name = json[index].name;
          var Age = json[index].age;
          var Score = json[index].score;
          tt += Id + "___" + Name + "___" + Age + "___";
          $.each(Score, function (k, v) {
            tt += k + ":" + v + "___";
          })
          tt += "<br/>";
        });
        $("#list3").html('');
        $("#list3").html(tt);
      }
      //方式四 Json方式获取层级数据
      $.getJSON(
        "jsondata.ashx?type=3",
        function (json) {
          //循环获取数据
          var tt = "";
          $.each(json, function (index) {
            //循环获取数据
            var Id = json[index].id;
            var Name = json[index].name;
            var Age = json[index].age;
            var Score = json[index].score;
            tt += Id + "___" + Name + "___" + Age + "___";
            $.each(Score, function (k, v) {
              tt += k + ":" + v + "___";
            })
            tt += "<br/>";
          });
          $("#list4").html('');
          $("#list4").html(tt);
        }
      );
    });
  </script>
</head>
<body>
  <p>方式一</p>
  <ul id="list">
  </ul>
  ____________________________________
  <p>方式二</p>
  <ul id="list2">
  </ul>
  ____________________________________
  <p>方式三</p>
  <ul id="list3">
  </ul>
  ____________________________________
  <p>方式四</p>
  <ul id="list4">
  </ul>
</body>
</html>
<%@ WebHandler Language="C#" Class="jsondata" %>
using System;
using System.Web;
using System.Web.Script.Serialization;
using System.IO;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using Newtonsoft.Json;
public class jsondata : IHttpHandler {
  public void ProcessRequest(HttpContext context)
  {
    context.Response.ContentType = "text/plain";
    context.Response.Cache.SetNoStore();
    string type = context.Request["type"];
    if (type=="1") //普通数据
    {
      List<Dictionary<String, String>> aa = new List<Dictionary<string, string>>();
      for (int i = 0; i < 6; i++)
      {
        Dictionary<String, String> aaa = new Dictionary<string, string>();
        aaa.Add("id", "no" + i);
        aaa.Add("name", "张三" + i);
        aaa.Add("age", "21");
        aaa.Add("score", "1001");
        aa.Add(aaa);
      }
      string json = JsonConvert.SerializeObject(aa, Formatting.Indented);
      context.Response.Write(json);
    }
    if (type == "3") //层级数据
    {
      List<Student> list = new List<Student>();
      for (int i = 0; i < 6; i++)
      {
        Student a = new Student();
        a.id = "no" + i;
        a.name = "张三" + i;
        a.age = "21";
        Dictionary<string, string> dic = new Dictionary<string, string>();
        dic.Add("语文","80");
        dic.Add("数学", "81");
        dic.Add("英语", "83");
        dic.Add("生物", "89");
        dic.Add("化学", "90");
        dic.Add("物理", "95");
        a.score = dic;
        list.Add(a);
      }
      string json = JsonConvert.SerializeObject(list, Formatting.Indented);
      context.Response.Write(json);
    }
  }
  public struct Student
  {
    public string id;
    public string name;
    public string age;
    public Dictionary<string,string> score;
  }
  public bool IsReusable
  {
    get
    {
      return false;
    }
  }
}

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript 计算两个整数的百分比值
Dec 26 Javascript
jquery validator 插件增加日期比较方法
Feb 21 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
Jul 04 Javascript
你不知道的高性能JAVASCRIPT
Jan 18 Javascript
angularjs中ng-attr的用法详解
Dec 31 Javascript
尝试自己动手用react来写一个分页组件(小结)
Feb 09 Javascript
vue项目打包后打开页面空白解决办法
Jun 29 Javascript
JavaScript事件发布/订阅模式原理与用法分析
Aug 21 Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
Feb 11 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
如何在JavaScript中等分数组的实现
Dec 13 Javascript
关于session和cookie的简单理解
Jun 08 #Javascript
jQuery封装的屏幕居中提示信息代码
Jun 08 #Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
Jun 07 #Javascript
JavaScript基础语法之js表达式
Jun 07 #Javascript
JavaScript必看小技巧(必看)
Jun 07 #Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 #Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
Jun 07 #Javascript
You might like
php下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
劣质的PHP代码简化
2010/02/08 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
浅谈php自定义错误日志
2015/02/13 PHP
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
vue自定义一个v-model的实现代码
2018/06/21 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
python开发中module模块用法实例分析
2015/11/12 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python定时器实例代码
2017/11/01 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
Django权限设置及验证方式
2020/05/13 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
高三毕业生自我鉴定
2013/12/20 职场文书
公休请假条
2014/04/11 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
社区文明倡议书
2015/04/28 职场文书
公积金具结保证书
2015/05/11 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书