FormData.append("key", "value") 不起作用

2023-11-22

你能告诉我这有什么问题吗:

var formdata = new FormData();
formdata.append("key", "value");
console.log(formdata);

我的输出看起来像这样,我找不到我的“键”-“值”对

FormData
*__proto__: FormData
**append: function append() { [native code] }
***arguments: null
***caller: null
***length: 0
***name: "append"
***prototype: append
***__proto__: function Empty() {}
*constructor: function FormData() { [native code] }
**arguments: null
**caller: null
**length: 0
**name: "FormData"
**prototype: FormData
**toString: function toString() { [native code] }
*__proto__: Object
**__proto__: Object
**__defineGetter__: function __defineGetter__() { [native code] }
**__defineSetter__: function __defineSetter__() { [native code] }
**__lookupGetter__: function __lookupGetter__() { [native code] }
**__lookupSetter__: function __lookupSetter__() { [native code] }
**constructor: function Object() { [native code] }
**hasOwnProperty: function hasOwnProperty() { [native code] }
**isPrototypeOf: function isPrototypeOf() { [native code] }
**propertyIsEnumerable: function propertyIsEnumerable() { [native code] }
**toLocaleString: function toLocaleString() { [native code] }
**toString: function toString() { [native code] }
**valueOf: function valueOf() { [native code] }

我不明白!昨天还好好的,今天我的头却把键盘撞坏了很多次! Firefox、Chrome,两者都一样:/


Chrome 50+ 和 Firefox 39+(或 44+)中的新增功能:

  • formdata.entries()(结合Array.from()为了可调试性)
  • formdata.get(key)
  • 以及更多非常有用的方法

原答案:

我通常会做什么来“调试”FormData对象,只需将其发送(任何地方!)并检查浏览器日志(例如 Chrome 开发工具的“网络”选项卡)。

您不需要相同的 Ajax 框架。你不需要任何细节。只需发送:

var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(data);

Easy.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FormData.append("key", "value") 不起作用 的相关文章