0
点赞
收藏
分享

微信扫一扫

Ajax实现前后端List<String>转为JSON

十日十月Freddie 2022-04-03 阅读 49
ajaxjson

从后台将List转为JSON,传给前台并打印出来。期间遇到了很多的问题,会出现传给前端的数据全是一堆问号,下面就给出我修改后的前后端代码。

java后端

// 获取当前用户所管理的全部社团名称
	@ResponseBody
	@RequestMapping("/getClubNameByUserid")
	public String getClubNameByUserid(String uid){
		System.out.println("传入的参数"+uid);
		List<String> nameList = clubService.getClubNameByUserid(uid);
		String jsonStr = JSON.toJSONString(nameList);
		System.out.println("jsonstr" + jsonStr);
		return jsonStr;
	}

前端代码:(和之前有问题的代码相比,我加了句dataType:“json”,表示服务器响应的结果类型为json字符串,接着可以直接alert(result),是可以得到预期的结果的。【在网上找了很多的例子,但具体问题具体分析,积累经验中ing】

<script type="text/javascript">
	var name = "";
	window.onload = function() {		
		var id = "${login.id}";
		console.log(id);
		$.ajax({
			url:"${pageContext.request.contextPath}/getClubNameByUserid",
			type:"POST",
			async:true,
			data:{"uid":id},
			dataType:"json",
			success:function(result){
				$("#selectClub").append("<option value='0'>请选择</option>");
				for(var i=0;i<result.length;i++){
					$("#selectClub").append("<option>"+result[i]+"</option>");
				}
			},
			error:function(e){
				alert(e);
			}
		});
		
		$("#selectClub").bind("change",function(){
			name = $("#selectClub option:selected").text();
			var href = $("#sendsign").text();
			
			alert(name);
		})
		
	};
</script>
举报

相关推荐

0 条评论