1、返回json字串:
複製代碼 代碼如下:
/** 將一個字串輸出到瀏覽器 */
protected void writeJson(String json) {
PrintWriter pw = null;
try {
servletResponse.setContentType("text/plain;charset=UTF-8");
pw = servletResponse.getWriter();
pw.write(json);
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (pw != null) {
pw.close();
}
}
}
2、通過eval將返回的json字串轉換成json對象:
複製代碼 代碼如下:
$.ajax({
data:{
"shipmmsi":shipmmsi,
"shipname":shipname
},
url : "shipbk/findShipMMSIAndName.do",
async : true,
type : "POST",
success : function(data) {
var ships = eval('(' + data + ')');
$("#bindShipmmsiDiv table tbody").html("");
if(ships!=null){
if(ships.length){
$("#bindShipmmsiDiv").show();
var trs="";
for(var i=0;i<ships.length;i++){
trs+="<tr><td>"+ships[i].mmsi+"</td><td>"+ships[i].vesselName+"</td></tr>";
}
$("#bindShipmmsiDiv table tbody").append(trs);
//給tr註冊點擊事件
$("#bindShipmmsiDiv table tbody tr").click(function(){
$(this).addClass('select_tr').siblings().removeClass('select_tr');
});
$("#bindShipmmsiDiv table tbody tr").dblclick(function(){
fillShipMMSIAndName(this);
$("#bindShipmmsiDiv").hide();
});
}
}
}
});
3、通過jquery的 $("form").serialize() 可以將form表單的資料序列化後提交到後台,因此通過ajax可以操作form表單並處理返回的資料。
複製代碼 代碼如下:
$.ajax({
url : 'deliveryWarrant/update.do',
data : $('#myform').serialize(),
type : "POST",
success : function(data) {
var res = eval('(' + data + ')');
if (res && res.success == true) {
alert(res.message);
location.href="/godownWarrant/findToDeliveryWarrant.do?godownWarrant.code="+$("#myform input[name=godownWarrant\\.code]").val();
} else {
alert(res.message);
}
}
});
4、防止亂碼的處理方法:
jsp頁面:charset:utf-8
servlet:utf-8
filter:utf-8
在PrintWriter out = response.getWriter()之前加一句
response.setCharacterEncoding("UTF-8")就可以解決亂碼的問題。
但是得記住一定要放在聲明PrintWwrite之前。
總之,前台介面,java檔案,資料庫和資料庫的串連都有採用統一編碼,才不會出現亂碼等情況
PS:關於json操作,這裡再為大家推薦幾款比較實用的json線上工具供大家參考使用:
線上JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON線上格式化工具:
http://tools.jb51.net/code/jsonformat
線上XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json代碼線上格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
線上json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans
C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json