无法在json的ajax调用中设置返回类型?
我在ajax调用中遇到了一些小问题,即无法在ajax中设置数据类型,对于字符串和文本数据类型,我得到了成功的ajax调用,但是当我从servlrt ajax调用返回列表失败时,请告诉我如何修复它,提前感谢您的帮助无法在json的ajax调用中设置返回类型?,json,ajax,jsp,servlets,Json,Ajax,Jsp,Servlets,我在ajax调用中遇到了一些小问题,即无法在ajax中设置数据类型,对于字符串和文本数据类型,我得到了成功的ajax调用,但是当我从servlrt ajax调用返回列表失败时,请告诉我如何修复它,提前感谢您的帮助 $ .ajax({ type: 'GET', url : "attendancePercentage", dataType: "json", data : {"stdate": stdate, "endate": endate}, succe
$
.ajax({
type: 'GET',
url : "attendancePercentage",
dataType: "json",
data : {"stdate": stdate, "endate": endate},
success : function(data, status) {
alert(status);
alert(data);
}
});
Servlet:
List<StudentMark> stList = new ArrayList<StudentMark>();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test_schema", "root", "root");
String sql = "select * from attendance where attendance.date>=? and attendance.date<=?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, stDate);
pstmt.setString(2, enDate);
rs = pstmt.executeQuery();
while (rs.next()) {
StudentMark ge = new StudentMark();
ge.setStudentName(rs.getString(3));
ge.setDate(rs.getString(2));
ge.setStatus(rs.getString(4));
//System.out.println(("&&&&&..." + ge));
stList.add(ge);
//System.out.println("ge :" + ge.getStudentName()+","+ge.getDate()+","+ge.getStatus());
}
System.out.println("list>>"+stList);
System.out.println("list>>"+json);//[{"","",""}]
} catch (Exception e) {
System.err.println(e.getMessage());
}
List stList=new ArrayList();
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(
“jdbc:mysql://localhost:3306/test_schema“,”根“,”根“);
String sql=“从考勤中选择*,其中考勤日期>=?和考勤日期>”+stList);
System.out.println(“list>>”+json);//[{“,”}]
}捕获(例外e){
System.err.println(e.getMessage());
}
我在上面的s.o.p语句中得到输出,如何为这个json对象设置数据类型 您可以在StudentMarsk类中重写toString,如 @凌驾 公共字符串toString(){ 返回新的Gson().toJson(this);
}您可以在StudentMarsk类中重写toString,如 @凌驾 公共字符串toString(){ 返回新的Gson().toJson(this);
}你能解释一下怎么做吗?导入com.google.gson.gson;public class StudentMark{private String studentName;private String date;private String status;//您的getter和setters@Override public String toString(){return new Gson().toJson(this);}}尝试了这个,但我还是发现ajax调用失败。另外,您应该使用PrintWriter而不是System.out PrintWriter out=response.getWriter()输出;打印输出(stList);setContentType(“应用程序/json”);out.close();非常感谢它为我工作。你能告诉我如何在ajax中获取数据中的列表对象,如何分割和显示。你能解释一下,怎么做吗?导入com.google.gson.gson;public class StudentMark{private String studentName;private String date;private String status;//您的getter和setters@Override public String toString(){return new Gson().toJson(this);}}尝试了这个,但我还是发现ajax调用失败。另外,您应该使用PrintWriter而不是System.out PrintWriter out=response.getWriter()输出;打印输出(stList);setContentType(“应用程序/json”);out.close();非常感谢它为我工作。你能告诉我如何在ajax中获取数据中的列表对象,如何分割和显示吗。