您的位置:首页 > Web前端 > JavaScript

利用json从后端取数据

2015-07-30 19:42 691 查看
<script type="text/javascript">

function department(){

$("#projectid").css('display','block');//显示部门信息

$("#other").attr('checked',true);//选中其他部门按钮

$("#benbumen").attr('checked',false);//不选中本部门按钮

$.ajax({type:"post",

url:"<%=request.getContextPath()%>/reinbursementAction_getdepartment.action",

dataType : "json",

timeout : 4000,

success : function(data) {

var obj = eval(data);//将string转化成ajax可识别的对象

$("#projectid").empty();

for ( var i = 0; i < obj.length; i++) {

$("#projectid").append(

"<option value="+obj[i].id+">"

+ obj[i].name + "</option>");

}

},

error : function() {

alert("与服务器连接超时...");

}

});

}

</script>

<script type="text/javascript">

jsp

controller层

private HttpServletResponse reponse;

public HttpServletResponse getReponse() {

return reponse;

}

public void setReponse(HttpServletResponse reponse) {

this.reponse = reponse;

}

public void getdepartment()throws Exception{

reponse = ServletActionContext.getResponse();

reponse.setCharacterEncoding("UTF-8");// 指定返回值的编码方式,必须放在out声明之前

StringBuffer sb = new StringBuffer();

sb.append("[");

List<Department> departmentlist=departmentService.findAll();

for(Department dep:departmentlist){

sb.append("{\"id\":"+dep.getId()+",\"name\":\""+dep.getName()+"\"},");

}

sb.deleteCharAt(sb.length()-1).append("]");

String depart=sb.toString();

System.out.println(depart);

PrintWriter out = null;

reponse.setContentType("text/javascript;charset=UTF-8");

try {

out = reponse.getWriter();

out.print(sb);

out.flush();

} catch (IOException e) {

e.printStackTrace();

} finally {

out.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: