FormData.append()添加字段后值为空?是哪个细节导致的?

FormData.append()添加字段后值为空?是哪个细节导致的?

FormData.append()方法导致字段值为空的常见错误及解决方法

在使用FormData.append()向表单添加数据时,有时会遇到console.log显示字段值为空(NULL)的情况。这通常并非FormData对象本身的问题,而是由于代码细节导致的键值不匹配。

以下面代码为例,开发者使用formData.append(key, value)添加键值对。payload对象包含kb_id和doc_id两个字符串字段。代码先添加kb_id,console.log(formData.get(‘kb_id’))正确输出其值。然而,添加doc_id后,console.log(formData.get(‘doc_id’))却输出null。

问题根源在于formData.append(‘doc_id ‘, payload.doc_id);这行代码。注意’doc_id ‘中的额外空格。FormData.get()方法是精确匹配键名的,由于添加时键名包含空格(“doc_id “),而获取时键名没有空格(“doc_id”),两者不匹配,导致formData.get(‘doc_id’)返回null。

解决方法很简单:将formData.append(‘doc_id ‘, payload.doc_id);修改为formData.append(‘doc_id’, payload.doc_id);,去除键名中的空格即可。这样,formData.get(‘doc_id’)就能正确获取payload.doc_id的值。

总结: 使用FormData.append()时,务必确保添加键名与获取键名完全一致,包括大小写和空格。细微的差别都会导致获取失败。 谨慎检查键名拼写,避免因空格或其他字符差异导致的错误。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享