导入那些包就不说了,之前好奇怪的问题是 我在Action里面的方法返回只有return null;才能正确的执行success回调,
Action里面
public String Fill() throws IOException { // 取值 HttpServletResponse response = getResponse(); // 设置返回类型 response.setContentType("application/json; charset=utf-8"); PrintWriter writer = response.getWriter(); // 获取数据 list = service.excuteSelect("PProduct"); //json数组 JSONArray json = new JSONArray(); JSONObject jo = new JSONObject(); //list转为json try { for (int j = 0; j < list.size(); j++) { PProduct m = (PProduct) list.get(j); jo.put("name",m.getName()); json.add(jo); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } // System.out.println(json.toString() ); writer.print(json); //缺少下面两句就error 要关闭 writer.flush(); writer.close(); return SUCCESS; }
struts.xml正常配置就OK
ajax如下:
$.ajax({ url:"materialInfo!Fill.action", type:"post", dataType:"json", success:function(data){ for(var i = 1;i<data.length;i++)//从1开始 因为第一行的数据 不是需要的 {$("#materialName").append('<option value="'+data[i].name+'">'+data[i].name+'</option>')}; $("#materialName").selectbox();//渲染下拉咧 }, error:function() { alert("数据获取失败 请重试"); } });
JSP如下:
<select id="materialName" autoWidth="true"> </select> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|