JQuery AjaxとSpringコントローラーを使用して、jspfのリフレッシュの問題
質問
JSPの複数のテーブルの1つに追加する新しいユーザー名を送信しようとしています。各テーブルはJSPFファイルで定義され、JSPに含まれています。 jquery.ajax()を使用して、スプリングコントローラーに名前を送信しようとしています(その後、すべての中間層と背面層の作業が行われます)。スプリングコントローラーが返されたら、1つのテーブルに自動的に更新してもらいたいです。ページ全体を更新したくありません。
どうすればいいですか?スプリングコントローラーから何を返しますか? 1つのテーブルを更新する必要があります(1つのJSPFファイルにあります)。
以下は、私が使用しているAjaxコールの例です。
$.ajax('/path/addUser.html', {
type: "POST",
data: { "userName" : "bob" },
success: function(data) {
// do what if anything?
},
error: function(jqXHR, textStatus, errorThrown) {
Ext.MessageBox.alert('Error', errorThrown);
}
});
解決
コントローラーからユーザー名とテーブル名を返します(複数のテーブルがある場合)。次に、jQueryを使用して、対応するテーブルにユーザー名を追加します。
コントローラーで値をJSONオブジェクトに配置すると、使用できます json-simple json object.keepで値をエンコード/デコードする @Responsebody
ページ/表示を回避するためのコントローラーのタイプを返すように。コントローラーで
JSONObject json = new JSONObject();
json.put("userName", user_name);
json.put("tableName",table_name);
return json;
JSではJSON値をデコードし、使用できるようにjQueryを使用します
$(tableName + "tr:last").after(userName);
$.ajax('/path/addUser.html', {
type: "POST",
data: { "userName" : "bob" },
success: function(data) {
$(data.tableName + "tr:last").after(data.userName);
},
});
所属していません StackOverflow