你能告诉我这是怎么回事:
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 devtools的“网络”标签)。
FormData
您不需要相同的Ajax框架。您不需要任何细节。只需发送:
var xhr = new XMLHttpRequest; xhr.open('POST', '/', true); xhr.send(data);
简单。