Skip to content

Commit 6ccda62

Browse files
committed
Properly handle array data transformation for HTTP requests
1 parent d03c356 commit 6ccda62

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

resources/js/services/ModelService.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,22 @@ export default abstract class ModelService extends BaseService {
9090
for (let propertyName in model) {
9191
if (!model.hasOwnProperty(propertyName) || !model[propertyName]) continue;
9292
let formKey = namespace ? `${namespace}[${propertyName}]` : propertyName;
93-
if (model[propertyName] instanceof Date)
93+
if (model[propertyName] instanceof Date) {
9494
formData.append(formKey, model[propertyName].toISOString());
95-
else if (model[propertyName] instanceof Array) {
95+
} else if (model[propertyName] instanceof Array) {
9696
model[propertyName].forEach((element, index) => {
9797
const tempFormKey = `${formKey}[${index}]`;
98-
this.transformPayloadForSubmission(element, formData, tempFormKey);
98+
if(element instanceof Array) {
99+
this.transformPayloadForSubmission(element, formData, tempFormKey);
100+
} else {
101+
formData.append(tempFormKey, element.toString());
102+
}
99103
});
100-
}
101-
else if (typeof model[propertyName] === 'object' && !(model[propertyName] instanceof File))
104+
} else if (typeof model[propertyName] === 'object' && !(model[propertyName] instanceof File)) {
102105
this.transformPayloadForSubmission(model[propertyName], formData, formKey);
103-
else
106+
} else {
104107
formData.append(formKey, model[propertyName].toString());
108+
}
105109
}
106110
return formData;
107111
};

0 commit comments

Comments
 (0)