Easyui中的datagrid和combobox加載Json的格式是不一樣的。一旦格式錯誤在Easyui中便無法現象出來。
datagrid加載的Json格式如下
{"total":28,"rows":[
{"productid":"FI-SW-01","productname":"Koi"},
{"productid":"K9-DL-01","productname":"Dalmation"},
{"productid":"RP-SN-01","productname":"Rattlesnake"},
{"productid":"RP-LI-02","productname":"Iguana"},
{"productid":"FL-DSH-01","productname":"Manx"},
{"productid":"FL-DLH-02","productname":"Persian"},
{"productid":"AV-CB-01","productname":"Amazon Parrot"}
]}
combobox加載的Json格式如下
[
{"productid":"FI-SW-01","productname":"Koi"},
{"productid":"K9-DL-01","productname":"Dalmation"},
{"productid":"RP-SN-01","productname":"Rattlesnake"},
{"productid":"RP-LI-02","productname":"Iguana"},
{"productid":"FL-DSH-01","productname":"Manx"},
{"productid":"FL-DLH-02","productname":"Persian"},
{"productid":"AV-CB-01","productname":"Amazon Parrot"}
]
combobox加載JSON方法1:輸出符合要求的JSON
在Java代碼中
JSONArray json = JSONArray.fromObject(list);
System.out.println(json.toString());
response.setCharacterEncoding("utf-8");// 指定爲utf-8
response.getWriter().write(json.toString());// 轉化爲JSOn格式
在jsp代碼中
$('#cc').combobox({
url:'load!queryCpersontype',
valueField:'code',
textField:'note'
});
combobox加載JSON方法2:雖然輸出的JSON不符合要求,但是在jsp頁面中轉化爲符合要求的
在Java代碼中
JSONObject jobj = new JSONObject();// new一個JSON
jobj.accumulate("rows", list);// row是代表顯示的頁的數據
log.info("JSON格式:" + jobj.toString());
response.setCharacterEncoding("utf-8");// 指定爲utf-8
response.getWriter().write(jobj.toString());// 轉化爲JSOn格式
在jsp代碼中
$.ajax({
type: "POST",
url: "load!queryCpersontype",
dataType:"json",
success: function(json){
$("#cc").combobox({
data:json.rows,
valueField:'code',
textField:'note'
});
}
});