我试图从这个jsp页面返回一个JSON对象。但我不知道为什么它没有提供所需的结果。这是我的jsp页面:
<%@page import="net.sf.json.JSONException"%>
<%@page import="net.sf.json.JSONArray"%>
<%@page import="net.sf.json.JSONObject"%>
<%@page contentType="application/json" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="application/json; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
JSONObject json = new JSONObject();
JSONArray employeeslist = new JSONArray();
JSONObject employee;
try
{
int count = 15;
for (int i=0 ; i<count ; i++)
{
employee = new JSONObject();
employee.put("name" , "Decepticons" + i);
employee.put("id" , "1999" + i);
employeeslist.add(employee);
}
json.put("Employeeslist", employeeslist);
}
catch (JSONException jse)
{
}
out.write(json.toString());
%>
</body>
</html>
请帮我在此代码中找到错误。
我的ajax叫这个jsp:
<script type="text/javascript">
$(document).ready(function() {
$("input[type=button]").click(function () {
$.ajax({
url: 'ValidEmployeeList.jsp',
dataType: 'json',
success: function(data) {
//alert(data);
alert(JSON.stringify(data));
},
error: function() {
alert('error');
}
});
});
});
</script>
答案 0 :(得分:0)
除了创建新的空JSONObject之外,永远不会分配json变量。您只使用员工和员工列表。但你永远不会打印出来。
答案 1 :(得分:0)
您将Json内容类型与html格式混合使用。尝试在开始和结束时删除html标记:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="application/json; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
和
</body>
</html>
最后不要使用空的catch块。你可能会错过一些真正原因的重要例外。