JSON整合JS,JQuery实现数据获取及展示

本期博客我们重点介绍如何通过JS以及JQuery获取JSON数据并进行界面的展示,讲解从基础案例开始,逐次递进。

1. ajax传递及返回数据

我们新建一个JsonController类,通过定义一个User实体类,User类包含用户名、密码、手机号三个属性,这里我们为方便测试,就不连接数据库了,我们检验以下两种情况:
①传递非JSON数据,然后返回JSON数据;
②传递JSON数据,返回JSON数据。
首先是第一种,在JsonController类中定义如下方法,代码如下:

   /**
	 * 前台传递表单数据
	 */
	@RequestMapping("/jsonDemoTwo")
	@ResponseBody
	public User jsonDemoTwo(User user) throws Exception {
   
		System.out.println("前台获取的数据:"+user.toString());
		user = new User("传入非JSON数据","123","222");
		return user;
	}

通过添加注解@ResponseBody,表明返回JSON数据,而传入的user参数并没有任何注解绑定,所以传入非JSON数据
然后我们新建json1.jsp,里面引入jquery.js文件,以便调用ajax函数,部分代码如下:

    //传非JSON,返回JSON
	function resJSON() {
   
		$.ajax({
   
			type:'post',
			url:'jsonDemoTwo.action',//请求的url地址,建议使用绝对地址
			data:'uName=刘&uPwd=123',//请求携带的参数
			success:function(data) {
   //sucess中function的data可以解析后台的数据
				console.log(data);
			},
			error:function() {
   //失败回调函数
				console.log("解析失败!");
			}
		});
	}

然后介绍第二种方式,在JsonController类中创建新的方法,代码如下:

    /**
	 * 传入参数被@RequestBody标识
	 */
	@RequestMapping("/jsonDemoThree")
	@ResponseBody
	public User jsonDemoThree(@RequestBody User user) throws Exception {
   
		System.out.println("前台获取的数据:"+user.toString());
		user = new User("传入JSON数据","123","222");
		return user;
	}

这里我们在参数user前面加上@RequestBody注解,表明传入JSON数据。
在json1.jsp中,ajax函数部分代码如下:

	//传JSON,返回JSON
	function req_resJSON() {
   
		$.ajax({
   
			type:'post',
			url:'jsonDemoThree.action',//请求的url地址,建议使用绝对地址
			contentType:'application/json;charset=utf-8',//设置请求参数类型
			data:'{"uName":"刘","uPwd":"123456"}',//请求携带的参数
			success:function(data) {
   //sucess中function的data可以解析后台的数据
				console.log(data);
			},
			error:function() {
   //失败回调函数
				console.log("解析失败!");
			}
		});
	}

这里ajax函数中加入了contentType属性,设置了请求参数类型为json形式。
其中json1.jsp中body内的代码如下:

<form action="${pageContext.request.contextPath}/jsonDemoTwo.action" method="post">
		<input type="text" name="uName" placeholder="请输入用户名"/><br/>
		<input type="password" name="uPwd" placeholder="请输入密码"/><br/>
		<input type="submit" value="提交">
	</form>
	<input type="button" value="传非JSON,返JSON" onclick="resJSON()"/><br/>
	<input type="button" value="均为JSON" onclick="req_resJSON()"/>

当我们点击不同的按钮时,其POST请求截图分别如下所示:
传非JSON返回JSON图
传JSON返回JSON图

2.getJSON,each获取列表数据(js,jquery混用)

在JsonController类中我们新建jsonDemoList方法,代码如下:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值