首先,我知道有更好的方法可以做到这一点,但客户要求它以这种方式完成。
修改 我早些时候改变了一些事情。
问题:现在,我只获得一条带有共同“binder_no”的记录,但我应该得到多个。
的index.jsp
<script>
function fetchEmailList(obj){
var but_val = obj.value;
var off_no = '<%=subdiv%>';
alert(off_no);
var bill_mon = '<%=bmon%>';
var bill_year = '<%=yr%>';
//$("#"+tblId).html(sprTblHdr);
$.post("fetch_dtls.jsp",{fetch_bin: but_val,bill_m: bill_mon,bill_y: bill_year,office: off_no},function(data){
alert("Hello");
console.log(data);
var jsonData = JSON.parse( $.trim(data) );
console.log(jsonData);
$.each(jsonData, function(k, v){
//$("#bin_det").find("tr:eq(1) td:eq(0) #consNu").html(v.consNum);
$("#bin_det").find("tr:eq(1) td:eq(0) #offno").html(v.offName);
$("#bin_det").find("tr:eq(1) td:eq(1) #binno").html(v.binNo);
$("#bin_det").find("tr:eq(1) td:eq(2) #billdate").html(v.billDate);
$("#bin_det").find("tr:eq(1) td:eq(3) #duedate").html(v.dueDate);
$("#panel").css({"display":"block"});
});
//alert(" tbl_html : "+$("#"+tblId).html());
alert("Bye");
});
}
</script>
<div id="panel" style="display:none;">
<table id="bin_det">
<tr>
<th colspan="3">
<%= subdiv+" "+bmon+" "+yr %>
</th>
</tr>
<tr>
<td>
<span id="offno"></span>
</td>
<td>
<span id="binno"></span>
</td>
<td>
<span id="billdate"></span>
</td>
<td>
<span id="duedate"></span>
</td>
</tr>
</table>
</div>
fetch_dtls.jsp
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@10.50.82.11:1521:SOS2", "trainee", "trainee");
try {
//PreparedStatement ps;
Statement st=con.createStatement();
ResultSet rs;
JSONArray ja = new JSONArray();
//if(binstr.equals("STN_LIST_BEF_ASSIGN")){
String qry = "select * from kcs.rl_kota_bill_prnt_tbl where binder_no='"+request.getParameter("fetch_bin")+"' and bill_month='"+request.getParameter("bill_m")+"' and bill_year='"+request.getParameter("bill_y")+"'";
//ps = con.prepareStatement(qry);
//ps.setString(1, stnOwner);
rs = st.executeQuery(qry);
while(rs.next()) {
JSONObject obj = new JSONObject();
obj.put("binNo",rs.getString("binder_no"));
obj.put("offName",rs.getString("office_name"));
obj.put("billDate",rs.getString("issue_date"));
obj.put("dueDate",rs.getString("due_date_by_cash"));
ja.add(obj);
}
rs.close();
st.close();
response.getWriter().write(ja.toString());
response.getWriter().flush();
response.getWriter().close();
//}
}
catch(Exception e){
out.println("Wrong Det: "+e);
}
%>
我认为将值放在表格中会出错。请帮我纠正错误。
答案 0 :(得分:0)
您的JSON格式不正确。我建议你使用Java到JSON转换器库,如jackson。
https://github.com/FasterXML/jackson
要验证您的JSON,您可以使用任何在线json验证器。将您的响应打印到浏览器控制台并首先验证它。