Domanda

Sto cercando di aggiornare il campo Cognome per PersonID. Posso passare PersonID, ma non so la sintassi per anche passando il campo Cognome.

$('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);
});

D: è qualcosa di simile di dati: { 'PersonID =' + PersonID, 'Cognome =' + Cognome}

Mi sto perdendo una linea ondulata o una parentesi o una virgola o un punto o due punti o semi-colon o segno più o un punto interrogativo o un apostrofo o preventivo o il simbolo del dollaro, o qualcosa?

È stato utile?

Soluzione

Sei vicino! Modificarlo solo un po ', non è uguale in là e utilizzare i due punti in questo modo:

data: {'PersonID':PersonID, 'LastName':LastName}

È anche possibile fare questo se si preferisce (non come sicuro se si ottiene alcuni caratteri strani però)

data: 'PersonID=' + PersonID + '&LastName=' + LastName

Altri suggerimenti

Per le strutture complesse nel caso in cui si aggiungono più di 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);
      }
    });

Sul lato cf basta fare

<cfset test = deserializeJSON(arguments.obj,true) >
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top