Ale*_*abu 5 javascript forms ajax html5 jquery-ui
是否可以对formdata对象的键进行检查?我想知道一个密钥是否已经分配了一个值.
尝试了这样的事情,结果不好
data=new FormData();
if(!data.key)
data.append(key,somevalue);
Run Code Online (Sandbox Code Playgroud)
另外一个问题是重写原始值的双重赋值的性质?
事情正在发生变化,现在您可以使用get函数检查密钥是否退出。
原答案
FormData正如我们在评论中已经讨论过的,出于安全原因,浏览器隐藏了存储在对象中的数据。有一种解决方法有助于在开发人员控制台中预览其数据,如下所述:FormData.append("key", "value") 不起作用
在代码中访问此类数据的唯一方法是使用自己的包装对象,该对象支持附加数据、获取值以及转换为FormData. 它可能是这样的对象:
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();
};
Run Code Online (Sandbox Code Playgroud)
用法:
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(data.safe()); // convertion here
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4641 次 |
| 最近记录: |