Ajax之json返回结果是集合的处理
Jquery实现ajax:
$.ajax({
type //数据的提交方式:get和post
url //数据的提交路径
async //是否支持异步刷新,默认是true
data //需要提交的数据
datatype //服务器返回数据的类型,例如xml,String,Json等
success //请求成功后的回调函数
error //请求失败后的回调函数});
}
)
json对服务器返回结果是集合的处理
<script>
$(function(){
$("#btn").click(function(){ 单击按钮时
$.ajax({
type:"get", 请求方式
url:"ShowServlet", 跳转路径
async:true, 异步请求
success:function(data){成功处理
var json = eval('('+data+')'); 将JSON的字符串解析成JSON数据格式
var table="<table>";
for(var i in json){
table+="<tr><td>"+json[0].id+"</td><td>"+json[i].name+"</td><td>"+json[i].birthday+"</td><td>"+json[i].regTime+"</td></tr>";
$("#show").html(table);显示在页面
}
table+="</table>";
},
代码实现:
userList.jsp
<%--
Description:ajax 返回集合
User: jiatp
Date: 2019/5/22
Time: 21:45
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
//初始化
$(function () {
$("#btn").click(function () {
$.ajax({
type:"post",
url:"showAllUserList",
data:{},
datatype:"json",
success:function (data) {
//转换为javascript对象
var user = eval('('+data+')');
var str = "<table>";
var strcontent = "";
for(var i=0;i<user.length;i++){
strcontent+="<tr><td>"+user[i].id+"</td><td>"+user[i].name+"</td><td>"+user[i].address+"</td></tr>"
}
str+=strcontent+"</table>";
$("#content").html(str);
},error:function () {
alert("error!");
}
})
})
})
</script>
<body>
<input type="button" id="btn" value="显示集合">
<div id="content"></div>
</body>
</html>
showAllUserList.java
package com.chinasofti.servlet;
import com.chinasofti.entity.User;
import net.sf.json.JSONArray;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
/**
* Description:ajax返回一个集合对象
* USER:jiatp
* Date:2019/5/22 22:16
* */
@WebServlet("/showAllUserList")
public class showAllUserList extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
List<User> userList = new ArrayList();
User user1 = new User();
user1.setName("张三");
user1.setAddress("北京");
user1.setId(1);
User user2 = new User();
user2.setName("李四");
user2.setAddress("上海");
user2.setId(2);
//添加到集合
userList.add(user1);
userList.add(user2);
PrintWriter out = response.getWriter();
//将user对象转换成json格式
JSONArray json = JSONArray.fromObject(userList);
System.out.println(json);
out.print(json);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
注:var json = eval('('+data+')'); 将JSON的字符串解析成JSON数据格式
Ajax之json返回结果是集合的处理的更多相关文章
- 用ajax传递json,返回前台的中文乱码问题
java项目中用ajax传递json,返回前台时中文出现问号(乱码问题)的解决办法 首先看一下没有解决前的状态: 我用的框架是ssm,在springMVC中我配置了编码格式为utf-8,每个jsp页面 ...
- 快捷标签和ajax、json返回数据
<if 判断条件>标签</if><import>标签可以链接外部的样式表,和js<import file="js.util.Array" ...
- MVC字符串转json,ajax接受json返回值
#region 功能 /// <summary> /// 查询 微信用户一定年月的账单 /// </summary> /// <param name="year ...
- DJANGO中,用QJUERY的AJAX的json返回中文乱码的解决办法
和网上其它用JAVA或是PHP的实现不太一样, DJANGO中的解决办法如下: 后端样例: def render_to_json_response(context, **response_kwargs ...
- 关于使用Ajax请求json数据,@RequestMapping返回中文乱码的几种解决办法
一.问题描述: 使用ajax请求json数据的时候,无论如何返回的响应编码都是ISO-8859-1类型,因为统一都是utf-8编码,导致出现返回结果中文乱码情况. $.ajax({ type:&quo ...
- Ajax获取Json多个集合并同时遍历
Ajax获取Json多个集合并同时遍历: 方法一.:将多个集合放入MAP集合. 后台:Servlet @Override protected void doPost(HttpServletReques ...
- 【转】AJAX中JSON数据的返回处理问题
AJAX处理复杂数据时,便会使用JSON格式.常用在对数据库的数据查询上.在数据库查询到数据后,便可在处理页面直接将数据转为JSON格式,然后返回. 本篇主要讨论:jQuery中,JSON数据在AJA ...
- 使用ajax请求SpringMVC返回Json出现乱码解决方法
1:在使用ajax请求后台访问数据的数据,后台返回的数据是乱码,带??问号的乱码,之前还一直没有遇到过,在这里记录整理一下,贴出解决代码! (1):前台使用ajax ,已经设定返回的结果为json格式 ...
- [转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
兼容问题1: 页面的分享等插件加载不全,并无法点击. 兼容问题2: IE下页面选择器(#id..class.etc.)绑定click事件无法访问到,后台springmvc方法,也无法获取ajax的su ...
随机推荐
- java 打印1到n之间的整数
package java_day08; /* * 打印1-n之间的整数 * * 递归:方法体自己调用自己 */ public class DiGui { public static void main ...
- windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问
windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问: 解决方法: 首先重命名系统盘 windows目录下的代号为“SoftwareDistribu ...
- CSIC_716_20191028【爬小破站】
1.爬取小破站的弹幕 2.展示爬取内容 打开网页,用教的方法找到cid 和header import requests from bs4 import BeautufulSoup import pan ...
- Python自学:第五章 列表解析
# -*- coding: GBK -*- squares = [value**2 for value in range(1,11)] print(squares) 输出为: [1, 4, 9, 16 ...
- WPF 新突破
刘琦告诉我 需要改变哪个属性哪个属性就需要实现InotifyPropertyChanged 董秀伟告诉我 界面改变会立即传输到属性上,并不需要实现InotifyPropertyChanged,只有 ...
- thinkphp 模型定义
模型定义 模型类并非必须定义,只有当存在独立的业务逻辑或者属性的时候才需要定义. 模型类通常需要继承系统的\Think\Model类或其子类,下面是一个Home\Model\UserModel类的定义 ...
- VC++ COMBO BOX控件的使用
1.你在编辑状态下点那个控件的向下的三角形,就出冒出来一个可以调高度的东东.将高度调高,否则在执行时会不能显示下拉选项. 2.为combo box添加选项,在编辑状态下选combo box控件的属 ...
- Astyle 快速入门,常用指令
--style=java -n -p -c !E astyle是一个命令行工具,命令语法很简单: astyle [options] < original > Beauti ...
- PAT甲级——A1126 Eulerian Path【30】
In graph theory, an Eulerian path is a path in a graph which visits every edge exactly once. Similar ...
- CSS 实现自适应正方形
在处理移动端页面时,我们有时会需要将banner图做成与屏幕等宽的正方形以获得最佳的体验效果,比如,商品详情页, 方法1.CSS3 vw单位 CSS3 中新增了一组相对于可视区域百分比的长度单位 vw ...