Pasando más de 1 campo de formulario
-
23-09-2019 - |
Pregunta
Estoy intentando actualizar el campo Apellidos para PersonaID. Puedo pasar PersonaID, pero no sé la sintaxis para pasar también el campo Apellidos.
$('input[name="LastName"]').live('focusout', function() {
var PersonID = $(this).parents("tr").attr("ID");
var LastName = $(this).val(); // todo: serialize
$.ajax({
url:'Remote/Person.cfc?method=UpdateLastName&returnformat=json'
,data:'PersonID='+PersonID
});
$(this).parents("td").empty().append(LastName);
});
Q: ¿Es algo así como los datos: { 'PersonaID =' + PersonaID, 'Apellido =' + Apellido}
Me estoy perdiendo una línea ondulada o un paréntesis o una coma o un punto y coma o punto y coma o signo o signo de interrogación o un apóstrofe o una cita o signo de dólar o algo?
Solución
Estás cerca! Cambiarlo un poco, no hay iguales en allí y utilizar los dos puntos así:
data: {'PersonID':PersonID, 'LastName':LastName}
También puede hacerlo si lo prefiere (no tan seguro si usted consigue algunos caracteres extraños, aunque)
data: 'PersonID=' + PersonID + '&LastName=' + LastName
Otros consejos
Para las estructuras complicadas en caso de que se agregan más de 2 vars:
var obj = new Object;
obj.something1 = 'something';
obj.something2 = Array();
obj.something2[1] = 'foo';
obj.something2[2] = 'bar';
//include json2.js
var objJSON = JSON.stringify(obj);
$.ajax({
url: "http://example.com",
type: "GET",
data: ({obj: objJSON , method : "UpdateLastName"}),
contentType: "application/json; charset=utf-8",
dataType: "html",
success: function(msg){
alert("Success: " + msg);
},
error: function(msg){
alert("Error: " + msg);
}
});
En el lado cf acaba de hacer
<cfset test = deserializeJSON(arguments.obj,true) >