Una soluzione migliore è quella di post-elaborazione dei dati JSON restituiti prima di esso colpisce la pagina.
Supponiamo che il server restituisce la seguente stringa JSON:
{ "status": 1, "result": "value to be displayed", "other": "some other data" }
e si vorrebbe elaborare il "stato" e "altri" campi, e visualizzare il campo "risultato" nel campo di immissione jeditable.
Aggiungere le seguenti 2 linee a jquery.jeditable.js:
(attorno alla riga 95):
var intercept = settings.intercept || function(s) {return s; };
(attorno alla riga 350, subito dopo "il successo: la funzione (risultato, stato) { "
result = intercept.apply(self,[result]);
Poi, nel proprio codice, fare qualcosa di simile al seguente:
$(some_field).editable(
'/some_url_on_your_server',
{
indicator : "<img src='/images/spinner.gif'>",
tooltip: "Click to edit.",
indicator: "Saving...",
onblur: "submit",
intercept: function (jsondata) {
obj = jQuery.parseJSON(jsondata);
// do something with obj.status and obj.other
return(obj.result);
},
etc.
Questo ti permette di fare cose interessanti come avere il tuo server convertire le abbreviazioni in stringhe piene ecc.
Divertiti!
La variabile "valore" nel callback, descritta nella risposta di Felipe, contiene la risposta del server. Quindi puoi fare quello che vuoi con esso nella richiamata. Ho utilizzato la risposta JSON del mio server per inserire il testo visualizzato nella pagina per l'utente e anche per determinare altre modifiche sulla pagina. –