DivineK
Autrui
2021-05-23 22:43
采纳率: 25%
浏览 32
已采纳

后台数据传过来,但前端没法显示

这个queryStudent.do是从后端读数据库传过来的数据

package cn.dwg.controller;

import cn.dwg.domain.Student;
import cn.dwg.service.StudentService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.annotation.Resource;
import java.util.List;

@Controller
@RequestMapping("/student")
public class StudentController {
	@Resource
	private StudentService service;
	//注册学生
	@RequestMapping("/addStudent.do")
	public ModelAndView addStudent(Student student){
		ModelAndView mv = new ModelAndView();
		String tips="注册失败";
		//调用service处理student
		int nums=service.addStudent(student);
		if (nums>0){
			//注册成功
			tips="学生["+student.getName()+"]注册成功";
		}
		//添加数据
		mv.addObject("tips",tips);
		//指定结果页面
		mv.setViewName("result");
		return mv;
	}


	//处理查询,响应Ajax
	@RequestMapping("/queryStudent.do")
	@ResponseBody
	public List<Student> queryStudent(){
		//参数检查,简单数据处理
		List<Student> students = service.findStudents();
		return students;
	}
}

这个是controller类

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
	String basePath = request.getScheme() +"://"+
			request.getServerName() + ":" +request.getServerPort() +
			request.getContextPath() + "/";
%>
<html>
<head>
	<title>查询学生Ajax</title>
	<base href="<%=basePath%>"/>
	<script type="text/javascript" src="js/jquery-3.5.1.js"></script>
	<script type="text/javascript">
		$(function () {
			$("#lod").click(function () {
				$.ajax({
					url:"student/queryStudent.do",
					type:"get",
					dataType:"json",
					success:function (data) {

						$.each(data,function (i,n){
							$("info").append("<tr>")
								.append("<td>"+ n.id + "</td>")
								.append("<td>"+ n.name + "</td>")
								.append("<td>"+ n.age + "</td>")
								.append("</tr>")
						})
					},
					error:function (data){
						alert(data)
					}
				})
			})
		})
	</script>
</head>
<body>
	<div align="center">
		<table>
			<thead>
			<tr>
				<td>学号</td>
				<td>姓名</td>
				<td>年龄</td>
			</tr>
			</thead>
			<tbody id="info">

			</tbody>
		</table>
		<input type="button" id="lod" value="查询数据">
	</div>
</body>
</html>

这个是页面的jsp,我是跟着b站springmvc教程打的,老师那里能显示。

我这里也接收到了json,但就是循环不显示数据,希望大佬给我指点一下哪里可能出错了

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • qq_35352422
    大太子二太子 2021-05-24 09:12
    已采纳

    你前端里info是啥?如果success函数执行了,也拿到数据了,那就是在前端没有找到info对象。如果前端有id=info的table的话,jquery用id获取对象用$("#info")

    点赞 评论
  • technologist_28
    CSDN专家-微编程 2021-05-24 08:35

    前端的student/queryStudent.do前面的项目名呢?应该是zio/student/queryStudent.do吧,不行你就写死怎么样http://localhost:8008/zio/student/queryStudent.do

    点赞 评论
  • weixin_44058725


    那ajax里success里打印data有值吗,有值的话再each里打印n或者打印$("info")。你把script放到body后。或者放到$(document).ready()里执行

    点赞 评论

相关推荐