一尘不染

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

html

你能告诉我这是怎么回事:

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都一样:/


阅读 2119

收藏
2020-05-10

共1个答案

一尘不染

Chrome 50+和Firefox 39+(版本44+)中的新功能:

  • formdata.entries()(与Array.from()可调试性结合使用)
  • formdata.get(key)
  • 还有更多非常有用的方法

原始答案:

我通常要做的是“调试” FormData对象,只是将其发送到任何地方并检查浏览器日志(例如Chrome devtools的“网络”标签)。

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

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

简单。

2020-05-10