I am sending following data to API, but not receiving values of child objects. How to properly URL encode child objects in javascript?
Data:
var details = {
OrderDate: "10-Sep-2020",
OrderID: "1011539",
Dated: "27-feb-2021",
CreatedBy: 0012,
tblAuthorityLetterDtls: [
{
ProductCode: "0010005",
Qty: "1"
},
{
ProductCode: "0010005",
Qty: "5"
},
{
ProductCode: "0010005",
Qty: "3"
}
]
}
Loop code I am using to URL encode data:
var formBody = [];
for (var property in details) {
if (property != "tblAuthorityLetterDtls"){
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}else{
var innerval = details[property];
for (var i = 0; i < details[property].length; i++) {
var formBodyinner = [];
for (var innerproperty in innerval[i]) {
if (innerval[i].hasOwnProperty(innerproperty)) {
var encodedKey = encodeURIComponent(innerproperty);
var encodedValue = encodeURIComponent(innerval[i][innerproperty]);
formBodyinner.push(encodedKey + "=" + encodedValue);
}
formBodyinner.push(encodedKey + "=" + encodedValue);
}
formBody.push("tblAuthorityLetterDtls" + "=" + formBodyinner);
}
}
}
formBody = formBody.join("&");