它非常隐秘,因为它仅用于将数据传递给 AJAX 请求,并且使您不必像定期提交表单时那样自行将数据编码到“multipart/form-data”中。因此,您应该只在发送 AJAX 请求的最后一刻使用它,而不是将其传递给其他函数。
如果您需要在其他地方访问相同的数据,您可以传递一个简单的 JS 对象并编写一个简单的帮助程序,例如:
function createFormData(myData) {
// It could also take an existing form for some values from the user
var formData = new FormData(/** FormElement form */);
for (var key in myData) {
formData.append(key, myData[key]);
}
return formData;
}
sendMyInfo: function(params)
// Add some data to the default params
params.hash = this.S.Storage.get('h_token'));
params.cacheBuster = (new Date()).valueOf();
// Inspect it
console.log(myData);
// Wherever you actually need FormData, create it for that purpose only....
var oReq = new XMLHttpRequest();
oReq.open("POST", "stash.php", true);
oReq.send(createFormData(myData));
};