Una solución mejor es el procesamiento posterior de los datos JSON devueltos antes de que golpea la página.
Supongamos que el servidor devuelve la siguiente cadena JSON:
{ "status": 1, "result": "value to be displayed", "other": "some other data" }
y que le gustaría para procesar el "status" y "otros" campos, y mostrar el campo "número" en el campo de entrada jeditable.
Añadir las siguientes líneas 2 a jquery.jeditable.js:
(alrededor de la línea 95):
var intercept = settings.intercept || function(s) {return s; };
(alrededor de la línea 350, justo después de "éxito: la función (resultado, el estado) { "
result = intercept.apply(self,[result]);
Luego, en su propio código, hacer algo como lo siguiente:
$(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.
Esto le permite hacer cosas interesantes como hacer que su servidor convierta abreviaturas en cadenas completas, etc.
¡Disfrútelo!
La variable 'valor' en la devolución de llamada, descrita en la respuesta de Felipe, contiene la respuesta del servidor. Para que pueda hacer lo que quiera con ella en la devolución de llamada. Utilicé la respuesta JSON de mi servidor para completar el texto mostrado en la página para el usuario y también para determinar otros cambios en la página. –