JSFiddle - React, Tailwind, and code Playground
JavaScript
function FormDataUnsafe() {
this.dict = {};
};
FormDataUnsafe.prototype.append = function(key, value) {
this.dict[key] = value;
};
FormDataUnsafe.prototype.contains = function(key) {
return this.dict.hasOwnProperty(key);
};
FormDataUnsafe.prototype.getValue = function(key) {
return this.dict[key];
};
FormDataUnsafe.prototype.valueOf = function() {
var fd = new FormData();
for(var key in this.dict) {
if (this.dict.hasOwnProperty(key))
fd.append(key, this.dict[key]);
}
return fd;
};
FormDataUnsafe.prototype.safe = function() {
return this.valueOf();
};
// test it
var data = new FormDataUnsafe();
data.append('param1', 'value');
data.append('param2', 11);
console.log(data.contains('param1'));
console.log(data.contains('param2'));
console.log(data.contains('param3'));
console.log(data.getValue('param1'));
console.log(data.getValue('param2'));
console.log(data.getValue('param3'));
// and please take a look at console, you should see post request
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(data.safe());