异步请求(解析json数据)

将 json 数据显示到页面
  需要借助 js 对 dom 的操作功能将数据生成到 html 页面

Demo: 查询一个雇员的信息
html:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6     <meta content="utf-8">
 7     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8     <title>Insert title here</title>
 9     <base href="/MvcPro/"/>
10     <!--表示样式可以根据设备的大小自适应-->
11     <meta name="viewport" content="width=divce-width,initial-scale=1">
12     <!-- 导入 jq 的 js 文件 -->
13     <script src="js/jquery.min.js"></script>
14     <!-- 导入表单验证的开发包 -->
15     <script type="text/javascript" src="js/jquery.validate.min.js"></script>
16     <!-- 导入表单验证 -->
17     <script src="pages/verification.js"></script>
18     <!--导入bootstrap的js-->
19     <script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
20     <!--导入bootstrap的css文件-->
21     <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css">
22     <!-- 导入自定义js文件 -->
23     <script src="pages/index.js"></script>
24 </head>
25 <body>
26     <a href="javascript:void(0)">获取一个雇员信息</a><br>
27     <a href="javascript:void(0)">获取多个雇员信息</a>
28     <div class="container">
29         <div class="row">
30             <div class="col-md-8">
31                 <table class="table table-bordered table-striped table-condensed table-hover">
32                     <tr>
33                         <th>编号</th><th>姓名</th><th>职位</th><th>薪资</th><th>领导编号</th><th>入职日期</th><th>佣金</th><th>部门编号</th><th>操作</th>
34                     </tr>
35                 </table>
36             </div>
37         </div>
38     </div>
39 </body>
40 </html>

js

$(function(){
    var emp;
    //为超链接绑定事件
    $("a:eq(0)").click(function(){
        $("table tr:eq(1)").remove();
        //发送异步请求
        $.ajax({
            type:"post",
            url:"emp/getOne",
            data:"id=7788",
            dataType:"json",
            async:false,
            success:function(data){
                //取得表格元素对象
                var table=$("table");
                table.append("<tr>"+
                    "<td>"+data.empno+"</td>"+
                    "<td>"+data.ename+"</td>"+
                    "<td>"+data.job+"</td>"+
                    "<td>"+data.sal+"</td>"+
                    "<td>"+data.mgr+"</td>"+
                    "<td>"+data.hiredate+"</td>"+
                    "<td>"+data.comm+"</td>"+
                    "<td>"+data.deptno+"</td>"+
                    "<td><button class=‘btn btn-success btn-sx‘>删除</button></td>"+
                "</tr>")
            }
        })
    })
})

Demo: 解析 List 类型的 json 数据

$(function(){
    $("a:eq(1)").click(function(){
        var table=$("table");
        $("table tr:gt(0)").remove();
        $.ajax({
            type:"post",
            url:"emp/jsonList",
            data:"cp=1&ls=10&kw=A",
            dataType:"json",
            success:function(data){
                for(var i=0;i<data.length;i++){
                    $("table").append("<tr>"+
                        "<td>"+data[i].empno+"</td>"+
                        "<td>"+data[i].ename+"</td>"+
                        "<td>"+data[i].job+"</td>"+
                        "<td>"+data[i].sal+"</td>"+
                        "<td>"+data[i].mgr+"</td>"+
                        "<td>"+data[i].hiredate+"</td>"+
                        "<td>"+data[i].comm+"</td>"+
                        "<td>"+data[i].deptno+"</td>"+
                        "<td><button class=‘btn btn-success btn-sx‘>删除</button></td>"+
                    "</tr>")
                }
            }
        })
    })
})

each循环:

$.each(data,function(index){
    $("table").append("<tr>"+
        "<td>"+data[i].empno+"</td>"+
        "<td>"+data[i].ename+"</td>"+
        "<td>"+data[i].job+"</td>"+
        "<td>"+data[i].sal+"</td>"+
        "<td>"+data[i].mgr+"</td>"+
        "<td>"+data[i].hiredate+"</td>"+
        "<td>"+data[i].comm+"</td>"+
        "<td>"+data[i].deptno+"</td>"+
        "<td><button class=‘btn btn-success btn-sx‘>删除</button></td>"+
    "</tr>")
})

Demo: 解析 Map 类型的 json 数据
jsp:

<body>
    <a href="javascript:void(0)">获取一个雇员信息</a><br>
    <a href="javascript:void(0)">获取多个雇员信息</a>
    <div class="container">
        <div class="row">
            <div id="div1" class="col-md-8">
            </div>
        </div>
    </div>
</body>

js:

 1 $(function(){
 2     $("a:eq(1)").click(function(){
 3         var table=$("table");
 4         $("table tr:gt(0)").remove();
 5         $.ajax({
 6             type:"post",
 7             url:"emp/jsonMap",
 8             data:"cp=1&ls=10&kw=",
 9             dataType:"json",
10             success:function(data){
11                 $("table").remove();
12                 $("h1").remove();
13                 //迭代map集合
14                 $.each(data,function(key,value){
15                     //过滤掉不是value值不是集合的键值对
16                     if(key!=‘allPages‘&&key!=‘count‘&&key!=‘cp‘&&key!=‘ls‘&&key!=‘kw‘){
17                         //生成职位信息
18                         $("#div1").append("<h1>"+key+"</h1>");
19                         //生成每个表格的表头信息(每个表格保存一种职位的雇员信息)
20                         $("#div1").append(
21                                 "<table class=‘table table-bordered table-striped table-condensed table-hover‘ id=‘"+key+"‘ border=1>"+
22                                     "<tr>"+
23                                         "<th>编号</th><th>姓名</th><th>职位</th><th>薪资</th><th>领导编号</th><th>入职日期</th><th>佣金</th><th>部门编号</th><th>操作</th>"+
24                                     "</tr>"+
25                                 "</table>"
26                         );
27                         //对当前职位的雇员列表进行迭代
28                         //value: 当前职位的雇员集合
29                         //index: 动态产生的下标, 从0开始
30                         $.each(value,function(index){
31                             $("#"+key).append("<tr>"+
32                                 "<td>"+value[index].empno+"</td>"+
33                                 "<td>"+value[index].ename+"</td>"+
34                                 "<td>"+value[index].job+"</td>"+
35                                 "<td>"+value[index].sal+"</td>"+
36                                 "<td>"+value[index].mgr+"</td>"+
37                                 "<td>"+value[index].hiredate+"</td>"+
38                                 "<td>"+value[index].comm+"</td>"+
39                                 "<td>"+value[index].deptno+"</td>"+
40                                 "<td><button class=‘btn btn-success btn-sx‘>删除</button></td>"+
41                             "</tr>")
42                         })
43                     }
44                 })
45             }
46         })
47     })
48 })

原文地址:https://www.cnblogs.com/yslf/p/10846515.html

时间: 2024-10-10 06:37:18

异步请求(解析json数据)的相关文章

【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回

作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MVC与json参考文章:[spring学习笔记-mvc-3]返回json数据-方式1  和 [spring学习笔记-mvc-4]返回json数据-方式2. 使用到的技术主要如下: Ajax:使用JQuery 提供的ajax:==>需要引入jquery.min.js文件: Spring MVC: Jso

异步请求(删除json数据)

异步请求(删除json数据) 删除数据库信息, 同时页面对应的样式也随之删除 Demo: 删除雇员信息1.在控制层定义删除的方法 //删除数据 public void jsonRemove(HttpServletRequest req,HttpServletResponse resp) throws Exception { //获取要删除的雇员的编号 Integer empno = Integer.valueOf(req.getParameter("id")); //调用业务层的删除方

异步请求取得json数据

一.异步请求 在之前我们请求数据的时候都是整个页面全部刷新了一次,也就是每次请求都会重新请求所有的资源.但是在很多时候不需要页面全部刷新,仅仅是需要页面的局部数据刷新即可,此时需要发送异步请求来实现这种局部数据刷新的要求,异步请求简称 Ajax(Asynchronous Javascript And XML),在之前一般使用js 发送异步请求,请求的数据一般是xml,但是现在 json 出现之后就不使用xml 做为数据传输格式标准了.使用jQuery 发送异步请求,jq中的异步请求发送有很多方式

异步请求(获取json数据)

异步请求 不使用异步请求的时候,请求数据都是整个页面全部刷新一次,这样每次请求都会重新请求所有的资源. 很多时候不需要页面全部刷新, 只需要页面的局部数据刷新即可, 此时就需要发送异步请求来实现局部数据刷新的请求 异步请求简称 Ajax (Asynchronous Javascript And XML) 以前 js 发送异步请求数据, 一般是xml, 现在是json了 Demo: 使用JQ发送 异步请求方式一html: <a href="javascript:void(0)"&g

【转】C# HttpWebRequest\HttpWebResponse\WebClient发送请求解析json数据

http://blog.csdn.net/kingcruel/article/details/44036871 版权声明:本文为博主原创文章,未经博主允许不得转载. [csharp] view plain copy ====================================================================================================================================== /// <su

android通过httpClient请求获取JSON数据并且解析

android通过httpClient请求获取JSON数据并且解析:http://www.cnblogs.com/gzggyy/archive/2013/05/08/3066288.html Android--使用Http向服务器发送请求并取得返回结果,下载图片:http://www.2cto.com/kf/201307/229489.html Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据):http://blog.csdn.net/he

0919-网络 请求 数据解析(掌握get post请求 解析json等代码即可)

http://localhost:8080/MJServer/video 复习看的: NSURLConnection 发送请求   暂时没有用到AFN 基本http请求 GET: - (IBAction)login { // 1.用户名 NSString *usernameText = self.username.text; if (usernameText.length == 0) { [MBProgressHUD showError:@"请输入用户名"]; return; } //

swift http请求返回json数据并解析

1 AppDelegate.swift // // AppDelegate.swift // QQDemo // // Created by 赵超 on 14-6-21. // Copyright (c) 2014年 赵超. All rights reserved. // import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? fun

Android 网络请求json数据,解析json数据,生成对应的java bean类一步到位,快速开发

Android 网络请求一般都涉及到图片和JSON数据,怎样快速的请求网络JSON数据,解析JSON数据,并且一步生成自己想要的Java bean实体类?这个涉及到Android 开发效率的问题.由于接触Android 网络这方面比较多,自然就找到一些好的方法来快速开发Android 网络模块的相关内容,接下来就为大家揭晓 一步快速请求,解析JSON 数据生成对应的Java bean实体类的方法. 注:我们先把思路讲解下吧: 1.网络请求JSON数据代码可以自己写,当然我还是推荐使用网络上开源的