jquery序列化form表單使用ajax提交后處理返回的json數(shù)據(jù)
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字符串轉(zhuǎn)換成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注冊點(diǎn)擊事件
$("#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表單的數(shù)據(jù)序列化后提交到后臺,因此通過ajax可以操作form表單并處理返回的數(shù)據(jù)。
$.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文件,數(shù)據(jù)庫和數(shù)據(jù)庫的連接都有采用統(tǒng)一編碼,才不會出現(xiàn)亂碼等情況
PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
C語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
- JSON PHP中,Json字符串反序列化成對象/數(shù)組的方法
- PHP中SERIALIZE和JSON的序列化與反序列化操作區(qū)別分析
- PHP的serialize序列化數(shù)據(jù)以及JSON格式化數(shù)據(jù)分析
- php json與xml序列化/反序列化
- php 中序列化和json使用介紹
- php中serialize序列化與json性能測試的示例分析
- js解析與序列化json數(shù)據(jù)(一)json.stringify()的基本用法
- js解析與序列化json數(shù)據(jù)(二)序列化探討
- Json序列化和反序列化方法解析
- php中json?序列化為?[]?的弊端
相關(guān)文章
jquery實(shí)現(xiàn)動畫菜單的左右滾動、漸變及圖形背景滾動等效果
這篇文章主要介紹了jquery實(shí)現(xiàn)動畫菜單的左右滾動、漸變及圖形背景滾動等效果,實(shí)例分析了jquery常用的幾種背景動態(tài)變換效果,涉及jquery動態(tài)操作頁面動畫效果實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08jquery表單驗(yàn)證插件(jquery.validate.js)的3種使用方式
這篇文章主要介紹了jquery表單驗(yàn)證插件(jquery.validate.js)的3種使用方式,本文用詳細(xì)的代碼實(shí)例講解jquery表單驗(yàn)證插件的使用,需要的朋友可以參考下2015-03-03jQuery ajax MD5實(shí)現(xiàn)用戶注冊即時驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了JQuery AJAX MD5實(shí)現(xiàn)用戶注冊即時驗(yàn)證功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10jQuery時間插件jquery.clock.js用法實(shí)例(5個示例)
這篇文章主要介紹了jQuery時間插件jquery.clock.js用法,結(jié)合5個實(shí)例簡單分析了jQuery時間插件jquery.clock.js的具體使用技巧,需要的朋友可以參考下2016-01-01jquery getScript動態(tài)加載JS方法改進(jìn)詳解
有許多朋友需要使用getScript方法動態(tài)加載JS,本文將詳細(xì)介紹此功能的實(shí)現(xiàn)方法2012-11-11textarea 在瀏覽器中固定大小和禁止拖動的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猼extarea 在瀏覽器中固定大小和禁止拖動的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-12-12jQuery實(shí)現(xiàn)div隨意拖動的實(shí)例代碼(通用代碼)
這篇文章主要介紹了jQuery實(shí)現(xiàn)div隨意拖動的實(shí)例代碼,涉及到j(luò)query div隨意拖動相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧2016-01-01關(guān)于hashchangebroker和statehashable的補(bǔ)充文檔
我覺得之前寫的兩篇隨筆有點(diǎn)不負(fù)責(zé)任,完全沒寫明白,補(bǔ)充了一份文檔(權(quán)且算是文檔吧=.=)2011-08-08