利用json從後端取數據

<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();
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章