Probleming rinfrescante jspf utilizzando jQuery Ajax e controller Primavera
Domanda
Sto cercando di inviare un nuovo nome utente da aggiungere a una delle più tabelle sulla mia jsp. Ogni tabella è definita in un file jspf e incluso nel jsp. Sto cercando di utilizzare jQuery.ajax () per inviare il nome al mio controller Primavera (che poi fa tutto il lavoro centrale e posteriore di livello). Quando il controllore primavera ritorna voglio quella tavolo per aggiornare automaticamente. Non voglio per aggiornare l'intera pagina.
Come posso fare questo? Quello che posso restituire dal mio controller primavera? Ho bascially bisogno di aggiornare l'una tabella (che si trova in un unico file jspf).
Ecco un esempio della chiamata ajax sto usando:
$.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);
}
});
Soluzione
nome utente Ritorno e nome della tabella dal regolatore (Se si dispone di più tabelle). Poi utilizzando jQuery è sufficiente aggiungere il nome utente alla tabella corrispondente.
Nel regolatore mettere i valori in oggetto JSON, è possibile utilizzare JSON-semplice per codificare / valori decodificare in json object.Keep @Responsebody
come tipo di ritorno del dispositivo di controllo per evitare pagina / vista di refresh.
Nel controllo
JSONObject json = new JSONObject();
json.put("userName", user_name);
json.put("tableName",table_name);
return json;
In JS valori decodifica JSON e utilizzare jQuery come si può usare
$(tableName + "tr:last").after(userName);
$.ajax('/path/addUser.html', {
type: "POST",
data: { "userName" : "bob" },
success: function(data) {
$(data.tableName + "tr:last").after(data.userName);
},
});