2012-02-16 68 views
0

我想發送一個新的用戶名添加到我的jsp上的多個表之一。每個表都在一個jspf文件中定義幷包含在jsp中。我試圖使用jQuery.ajax()將名稱發送給我的Spring控制器(然後執行所有中間和後面的層工作)。當Spring Controller返回時,我希望一個表自動更新。我不想刷新整個頁面。問題使用jQuery ajax和彈簧控制器刷新jspf

我該怎麼做?我從Spring Controller返回什麼?我bascially需要刷新一個表(這是在一個單一的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); 
    } 
}); 

回答

1

返回用戶名和表名來自控制器(如果有多個表)。然後使用Jquery只需將用戶名添加到相應的表。
在控制器中將值放入JSON對象中,可以使用Json-simple對json對象中的值進行編碼/解碼。將@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); 
    }, 

});