سؤال

أحاول تحديث حقل اسم LastNid لـ PersonId. يمكنني اجتياز شخصياً ، لكنني لا أعرف بناء الجملة لتمرير حقل اسم LastName أيضًا.

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

س: هو شيء مثل البيانات: {'personid ='+personId ، 'lastName ='+lastName}

هل أفتقد خطًا متسللًا أو قوسين أو فاصلة أو نقاط أو قولون أو نصف كولون أو علامة أو علامة استفهام أو علامة اقتباس أو اقتباس أو علامة الدولار أو شيء من هذا القبيل؟

هل كانت مفيدة؟

المحلول

انت قريب! قم بتغييره قليلاً ، لا يساوي هناك واستخدم قولون مثل هذا:

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

يمكنك أيضًا القيام بذلك إذا كنت تفضل (ليست آمنة إذا حصلت على بعض الشخصيات الغريبة)

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

نصائح أخرى

للهياكل المعقدة في حالة إضافة المزيد ثم 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);
      }
    });

على جانب CF فقط افعل

<cfset test = deserializeJSON(arguments.obj,true) >
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top