我有多次传递的代码,但在某种情况下会有一些小差异,但部分内容是相同的。如何声明代码是相同的并将其添加到代码的其余部分? 这是我的代码:
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();
}
});
}
提前致谢。
答案 0 :(得分:1)
您必须使用公共参数创建第一个对象,然后使用特定参数创建第二个对象,然后合并它:
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();
}
});
}