2016-05-23 11 views
2

Ich habe Code, der viele Male übergeben wird, aber unter bestimmten Bedingungen gibt es einen kleinen Unterschied, aber ein Teil davon ist der gleiche. Wie kann ich erklären, dass der Code derselbe ist und ihn dem Rest des Codes hinzufügt? Dies ist mein Code:jQuery AJAX Daten mehrere Parameter

function sendData() { 

    // I want to declare a variable here with all SameParmX here 

    if(window.confirmCopmanyName == "A") { 
     var data = { 
      SameParm1: $("#SameParm1").val(), 
      SameParm2: $("#SameParm2").val(), 
      SameParm3: $("#SameParm3").val(), 
      SameParm4: $("#SameParm4").val(), 
      SameParm5: $("#SameParm5").val(), 
      SameParm6: $("#SameParm6").val(), 

      DueAmount_1 : $("#DueAmount_1").val(), 
      DueDate_1 : $("#DueDate_1").val(), 
      PaymentNumber_1 : $("#PaymentNumber_1").val(), 
      GFStatus_1 : $("#GFStatus_1").val(), 
      BillNumber_1 : $("#BillNumber_1").val(), 
      DueAmount_2 : $("#DueAmount_2").val(), 
      DueDate_2 : $("#DueDate_2").val(), 
      PaymentNumber_2 : $("#PaymentNumber_2").val(), 
      GFStatus_2 : $("#GFStatus_2").val(), 
      BillNumber_2 : $("#BillNumber_2").val(), 
      DueAmount_3 : $("#DueAmount_3").val(), 
      DueDate_3 : $("#DueDate_3").val(), 
      PaymentNumber_3 : $("#PaymentNumber_3").val(), 
      GFStatus_3 : $("#GFStatus_3").val(), 
      BillNumber_3 : $("#BillNumber_3").val(), 
      DueAmount_4 : $("#DueAmount_4").val(), 
      DueDate_4 : $("#DueDate_4").val(), 
      PaymentNumber_4 : $("#PaymentNumber_4").val(), 
      GFStatus_4 : $("#GFStatus_4").val(), 
      BillNumber_4 : $("#BillNumber_4").val() 
     }; 
    } else if (window.confirmCopmanyName == "B") { 
     var data = { 
      SameParm1: $("#SameParm1").val(), 
      SameParm2: $("#SameParm2").val(), 
      SameParm3: $("#SameParm3").val(), 
      SameParm4: $("#SameParm4").val(), 
      SameParm5: $("#SameParm5").val(), 
      SameParm6: $("#SameParm6").val(), 

      SumStk: "1.40" // Сума стикер 
      ODueAmount_1 : $("#ODueAmount_1").val(), 
      ODueDate_1 : $("#ODueDate_1").val(), 
      OPaymentNumber_1 : $("#OPaymentNumber_1").val(), 
      OGFStatus_1 : $("#OGFStatus_1").val(), 
      OBillNumber_1 : $("#OBillNumber_1").val(), 
      ODueAmount_2 : $("#ODueAmount_2").val(), 
      ODueDate_2 : $("#ODueDate_2").val(), 
      OPaymentNumber_2 : $("#POaymentNumber_2").val(), 
      GFStatus_2 : $("#OGFStatus_2").val(), 
      OBillNumber_2 : $("#OBillNumber_2").val(), 
      ODueAmount_3 : $("#ODueAmount_3").val(), 
      ODueDate_3 : $("#ODueDate_3").val(), 
      OPaymentNumber_3 : $("#OPaymentNumber_3").val(), 
      OGFStatus_3 : $("#OGFStatus_3").val(), 
      OBillNumber_3 : $("#OBillNumber_3").val(), 
      ODueAmount_4 : $("#ODueAmount_4").val(), 
      ODueDate_4 : $("#ODueDate_4").val(), 
      OPaymentNumber_4 : $("#OPaymentNumber_4").val(), 
      OGFStatus_4 : $("#OGFStatus_4").val(), 
      OBillNumber_4 : $("#OBillNumber_4").val(), 
     }; 
    } else if(window.confirmCopmanyName == "C") { 
     var data = { 
      SameParm1: $("#SameParm1").val(), 
      SameParm2: $("#SameParm2").val(), 
      SameParm3: $("#SameParm3").val(), 
      SameParm4: $("#SameParm4").val(), 
      SameParm5: $("#SameParm5").val(), 
      SameParm6: $("#SameParm6").val(), 

      DueDate0: $("#padejDate_0").val(), 
      DueDate1: $("#padejDate_1").val(), 
      DueDate2: $("#padejDate_2").val(), 
      DueDate3: $("#padejDate_3").val(), 
      DueAmount0: $("#totalInstall_0").val(), 
      DueAmount1: $("#totalInstall_1").val(), 
      DueAmount2: $("#totalInstall_2").val(), 
      DueAmount3: $("#totalInstall_3").val(), 
     }; 
    } else if(window.confirmCopmanyName == "D") { 
     var data = { 
      SameParm1: $("#SameParm1").val(), 
      SameParm2: $("#SameParm2").val(), 
      SameParm3: $("#SameParm3").val(), 
      SameParm4: $("#SameParm4").val(), 
      SameParm5: $("#SameParm5").val(), 
      SameParm6: $("#SameParm6").val(), 

      DueDate0 : $("#paydate_0").val(), 
      DueDate1 : $("#paydate_1").val(), 
      DueDate2 : $("#paydate_2").val(), 
      DueDate3 : $("#paydate_3").val(), 
      DueAmount0 : $("#installments_0").val(), 
      DueAmount1 : $("#installments_1").val(), 
      DueAmount2 : $("#installments_2").val(), 
      DueAmount3 : $("#installments_3").val(), 
     }; 
    } 
    data = $.param(data); 
    return data; 
} 

function writeLoc() { 
    $.ajax({ 
     global: false, 
     type: 'POST', 
     url: 'myurl.php', 
     dataType: 'json', 
     data: sendData(), 
     cache: false, 
     timeout: 60000, 
     success: function(result) { 
      console.log(result); 
     }, 
     error: function (request, status, error) { 
      serviceError(); 
     } 
    }); 
} 

Vielen Dank im Voraus.

Antwort

1

Sie haben ein erstes Objekt mit den allgemeinen Parametern erstellen und dann einem zweiten mit den spezifisch denjenigen, und dann verschmelzen:

function sendData() { 

    /* Here you put the common parameters*/ 
    same_obj={ 
      SameParm1: $("#SameParm1").val(), 
      SameParm2: $("#SameParm2").val(), 
      SameParm3: $("#SameParm3").val(), 
      SameParm4: $("#SameParm4").val(), 
      SameParm5: $("#SameParm5").val(), 
      SameParm6: $("#SameParm6").val()} 
    /* then you put the specific ones */ 
    if(window.confirmCopmanyName == "A") { 
     var data = { DueAmount_1 : $("#DueAmount_1").val(), 
      DueDate_1 : $("#DueDate_1").val(), 
      PaymentNumber_1 : $("#PaymentNumber_1").val(), 
      GFStatus_1 : $("#GFStatus_1").val(), 
      BillNumber_1 : $("#BillNumber_1").val(), 
      DueAmount_2 : $("#DueAmount_2").val(), 
      DueDate_2 : $("#DueDate_2").val(), 
      PaymentNumber_2 : $("#PaymentNumber_2").val(), 
      GFStatus_2 : $("#GFStatus_2").val(), 
      BillNumber_2 : $("#BillNumber_2").val(), 
      DueAmount_3 : $("#DueAmount_3").val(), 
      DueDate_3 : $("#DueDate_3").val(), 
      PaymentNumber_3 : $("#PaymentNumber_3").val(), 
      GFStatus_3 : $("#GFStatus_3").val(), 
      BillNumber_3 : $("#BillNumber_3").val(), 
      DueAmount_4 : $("#DueAmount_4").val(), 
      DueDate_4 : $("#DueDate_4").val(), 
      PaymentNumber_4 : $("#PaymentNumber_4").val(), 
      GFStatus_4 : $("#GFStatus_4").val(), 
      BillNumber_4 : $("#BillNumber_4").val() 
     }; 
    } else if (window.confirmCopmanyName == "B") { 
     var data = {    SumStk: "1.40" // Сума стикер 
      ODueAmount_1 : $("#ODueAmount_1").val(), 
      ODueDate_1 : $("#ODueDate_1").val(), 
      OPaymentNumber_1 : $("#OPaymentNumber_1").val(), 
      OGFStatus_1 : $("#OGFStatus_1").val(), 
      OBillNumber_1 : $("#OBillNumber_1").val(), 
      ODueAmount_2 : $("#ODueAmount_2").val(), 
      ODueDate_2 : $("#ODueDate_2").val(), 
      OPaymentNumber_2 : $("#POaymentNumber_2").val(), 
      GFStatus_2 : $("#OGFStatus_2").val(), 
      OBillNumber_2 : $("#OBillNumber_2").val(), 
      ODueAmount_3 : $("#ODueAmount_3").val(), 
      ODueDate_3 : $("#ODueDate_3").val(), 
      OPaymentNumber_3 : $("#OPaymentNumber_3").val(), 
      OGFStatus_3 : $("#OGFStatus_3").val(), 
      OBillNumber_3 : $("#OBillNumber_3").val(), 
      ODueAmount_4 : $("#ODueAmount_4").val(), 
      ODueDate_4 : $("#ODueDate_4").val(), 
      OPaymentNumber_4 : $("#OPaymentNumber_4").val(), 
      OGFStatus_4 : $("#OGFStatus_4").val(), 
      OBillNumber_4 : $("#OBillNumber_4").val(), 
     }; 
    } else if(window.confirmCopmanyName == "C") { 
     var data = {DueDate0: $("#padejDate_0").val(), 
      DueDate1: $("#padejDate_1").val(), 
      DueDate2: $("#padejDate_2").val(), 
      DueDate3: $("#padejDate_3").val(), 
      DueAmount0: $("#totalInstall_0").val(), 
      DueAmount1: $("#totalInstall_1").val(), 
      DueAmount2: $("#totalInstall_2").val(), 
      DueAmount3: $("#totalInstall_3").val(), 
     }; 
    } else if(window.confirmCopmanyName == "D") { 
     var data = {DueDate0 : $("#paydate_0").val(), 
      DueDate1 : $("#paydate_1").val(), 
      DueDate2 : $("#paydate_2").val(), 
      DueDate3 : $("#paydate_3").val(), 
      DueAmount0 : $("#installments_0").val(), 
      DueAmount1 : $("#installments_1").val(), 
      DueAmount2 : $("#installments_2").val(), 
      DueAmount3 : $("#installments_3").val(), 
     }; 
    } 
    Object.assign(data,same_obj) /* NOW we merge data!*/ 
    data = $.param(data); 
    return data; 
} 

function writeLoc() { 
    $.ajax({ 
     global: false, 
     type: 'POST', 
     url: 'myurl.php', 
     dataType: 'json', 
     data: sendData(), 
     cache: false, 
     timeout: 60000, 
     success: function(result) { 
      console.log(result); 
     }, 
     error: function (request, status, error) { 
      serviceError(); 
     } 
    }); 
} 
+0

Vielen Dank! :) – diank