FormData
中我无法理解。
这是我的代码:
<!DOCTYPE html>
<html>
<script src="bower_components/jquery/dist/jquery.min.js"></script>
</script>
<script>
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
var form_data = new FormData($('form')[0]);
});
});
</script>
<body>
<form>
<input name='a' value='vala'/>
<input name='b' value='valb'/>
<input name='c' value='valc'/>
<input type='submit' value='sub'/>
</form>
</body>
</html>
如果我在Chrome中调试我的代码,我希望form_data
对象填充我的表单输入名称和值。
但似乎总是空洞的。
我哪里错了?
答案 0 :(得分:1)
FormData
个对象的行为与典型的key => value
原则不同。它们意味着最终被添加和提交,而不是被访问/修改。
Chrome和Firefox似乎支持从FormData
阅读。见https://developer.mozilla.org/en-US/docs/Web/API/FormData/getAll
答案 1 :(得分:0)
您根本不需要遍历表单字段,因为您可以将form
元素提供给FormData()
构造函数。试试这个:
$('form').on('submit', function (e) {
e.preventDefault();
var form_data = new FormData($('form')[0]);
// ajax here...
});