servlet从数据库获取数据转成了json格式,js怎么获取不到这个json啊?

servlet获取数据:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)thr... servlet获取数据: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection conn = null; response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try{ // 注册 JDBC 驱动器 Class.forName("com.mysql.jdbc.Driver"); // 打开一个连接 conn = DriverManager.getConnection(DB_URL,USER,PASS); // 执行 SQL 查 String sql; sql = "SELECT title,subtitle,img_url,adult FROM travel_team LEFT JOIN travel_standard ON travel_standard.standard_id=travel_team.standard_id LEFT JOIN travel_price_type ON travel_price_type.team_id=travel_team.team_id LEFT JOIN travel_img ON travel_img.img_id=travel_standard.img_ids WHERE travel_team.shopowner=1;"; PreparedStatement ps=conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); //数据集合 List<Map<String,Object>> rows=new ArrayList<Map<String,Object>>(); //迭代结果集 Map<String,Object> result=new HashMap<String,Object>(); // 展开结果集数据库 while(rs.next()){ Map<String,Object> data=new HashMap<String,Object>(); // 通过字段检索 data.put("adult",rs.getFloat("adult")); data.put("img_url",rs.getString("img_url")); data.put("subtitle",rs.getString("subtitle")); data.put("title",rs.getString("title")); rows.add(data); } result.put("rows",rows); String json=JSON.toJSONString(result); //request.setAttribute("json", json); //response.sendRedirect("index.html"); out.write(json); //out.print(json); //out.println("</body></html>"); // 完成后关闭 rs.close(); conn.close(); } catch(SQLException se) { // 处理 JDBC 错误 se.printStackTrace(); } catch(Exception e) { // 处理 Class.forName 错误 e.printStackTrace(); }finally{ // 最后是用于关闭资源的块 try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } } 在js里面读取数据window.onload=dataLoad;function dataLoad(){ alert('1'); $.ajax({ url:'servlet/ServletDemo1', type:"post", dataType:"json", success:function(result){ //数组 addBox(result); }, error:function(){ alert("失败"); } }); function addBox(result){ $.each(result,function(index,obj){ alert(obj.adult); }); }alert(obj.adult);一直是undefined,在servlet输出这个json数据是能输出的 展开
 我来答
我爱罗lm
2017-08-01 · TA获得超过347个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:85万
展开全部

应该写成addBox(result.rows);

你可以alert(JSON.stringify(result));看返回的json数据

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式