【发布时间】:2016-02-09 23:02:49
【问题描述】:
我有一组 POST 端点,我需要在其中发送一组静态参数以及一些特定于请求的动态参数。
对于每个请求,我都在执行以下操作:
var staticParams = {...}, // some arbitrarily large object
localParams = {...},
formData = new FormData();
Object.keys(staticParams).forEach(function(key) {
formData.append(key, staticParams[key]);
});
Object.keys(localData).forEach(function(key) {
formData.append(key, localParams[key]);
});
这不是一笔巨大的税,但为每个请求重复第一次枚举似乎很愚蠢。 如何克隆和扩展我的 FormData 对象,这样我就不必每次都构建整个对象?
FWIW,我知道how to clone Objects;我相信FormData 是独一无二的,因为键/值对不仅仅是对象上的键,所以我不清楚克隆它的正确方法。
【问题讨论】:
-
据我所知,such 是不可能的。但我认为重复为多个请求附加数据不会产生太大影响。
-
@Bergi 你有一个双重否定;你认为这是一个问题还是不是一个问题?
-
哎呀,我的意思是这不是问题 - 既不是空间问题,也不是时间问题。
-
var f = function() {this. formData = {'x':'y'};} var newFormData = new f()。 formData;,新的关键字应该可以快速解决问题
-
@shayte 你好像不明白
FormData是什么? developer.mozilla.org/en-US/docs/Web/API/FormData/FormData
标签: javascript xmlhttprequest form-data