使用ajax请求后台生成数据返回JSON格式到前台使用

本文介绍了一个典型的前后端数据交互案例,通过前台JS的$.ajax方法发送GET请求到后台Java的Servlet,获取并解析返回的JSON数据,然后动态填充下拉选择框。该过程展示了JSON数据的序列化与反序列化,以及如何处理跨域问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前台JS

$.ajax({
        type:"GET",
        url: contextPath + "/GetAllSubjectsServlet?date=" + new Date(), 
        dataType:"json",
        success:function(result){
            if(result){
                $.each(result, function(i, obj) {
                    $("#selectSubject").append("<option value='" + obj.id + "'>"+ obj.name+ "</option>");
                });
            }
        }
})

后台JAVA

(Subject包含两个域:id和name)

(后台数据是一个List)

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		SubjectService subjectService = new SubjectServiceImpl();
		List<Subject> subjectList = subjectService.getAllSubjects();
		JSONArray jsonArray = JSONArray.fromObject(subjectList);
		
		response.setCharacterEncoding("UTF-8");
		response.getWriter().write(jsonArray.toString());
	}

 

使用json-lib注意事项:

1.一定要配齐依赖包,不然报错

 java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeExcept

 java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值