ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryはフォームをシリアル化し、送信後に返されたjsonデータをajax_jqueryを使用して処理します。

jqueryはフォームをシリアル化し、送信後に返されたjsonデータをajax_jqueryを使用して処理します。

WBOY
WBOYオリジナル
2016-05-16 16:57:252280ブラウズ

1. json 文字列を返します:

コードをコピー コードは次のとおりです:

/**ブラウザに文字列を出力する*/
protected void writeJson(String json) {
PrintWriter pw = null;
try {
servletResponse.setContentType("text/plain;charset=UTF-8");
pw = servletResponse. getW riter() ;
pw.write(json);
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace( );
>

2. 返された json 文字列を eval を通じて json オブジェクトに変換します。



コードをコピーします


コードは次のとおりです。


$.ajax({
data:{
"shipmmsi":shipmmsi,
"shipname":shipname
},
"shipbk /findShipMMSIAndName.do ",
async : true,
type : "POST",
success : function(data) {
var ship = eval('(' data ')');
$( "#bindShipmmsiDiv テーブル tbody").html("");
if(ships!=null){
if(ships.length){
$("#bindShipmmsiDiv").show() ;
var trs="";
for(var i=0;i trs ="< td>「ships[i].mmsi」 "ships[i].vesselName "";
}
$("#bindShipmmsiDiv table").app終了(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() により、フォーム表のデータを順序付けして後段に転送できるため、ajax でフォーム表を操作し、返されたデータを処理できます。

$.ajax({
url : 'deliveryWarrant/update.do',
data : $('#myform').serialize(),
type : "POST",
成功 : function(data) {
var res = eval('(' data ') ');
if (res && res.success == true) {
alert(res.message);
location.href="/godownWarrant/findToDeliverWarrant.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 の前に
response.setCharacterEncoding(" を追加します out = response.getWriter() UTF- 8")で文字化けの問題を解決できます。
ただし、PrintWwrite を宣言する前に忘れずに配置してください。

つまり、フロントエンドインターフェイス、Java ファイル、データベース、データベース接続はすべて統一されたエンコーディングを使用するため、文字化けは発生しません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。